<?php

class bar {
	public $x = "Hello from 5.4\n";
}

class foo implements ArrayAccess {
	public $y = 'bar';
	
	public function bar($msg = '') {
		return 'From ' . $msg . "\n";
	}
	
	public function offsetGet($key) {
		return "Accessing key $key \n";
	}
	
	public function offsetSet($offset, $value) {}
	public function offsetExists($offset) {}
	public function offsetUnset($offset) {}
}

$foo = 'foo';
$bar = new foo;

echo (new foo())->bar('class');
echo (new $foo)->bar('variable');
echo (new $foo())->bar('variable w/ braces');
echo (new $bar->y)->x;
echo (new foo)[0];