<?php
class Foo
{
public $bar = 'baz';
}
class FooProxy extends Foo
{
private $wrapped;
public function __construct(Foo $foo)
{
$this->wrapped = $foo;
unset($this->bar);
}
public function & __get($name)
{
return $this->wrapped->$name;
}
public function __set($name, $value)
{
$this->wrapped->$name = $value;
}
public function __isset($name)
{
return isset($this->wrapped->$name);
}
public function __unset($name)
{
unset($this->wrapped->$name);
}
}
$foo = new FooProxy(new Foo());
$foo->bar;
$foo->bar = 'baz';
isset($foo->bar);
unset($foo->bar);
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/qGlU6 on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/qGlU6 on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/qGlU6 on line 5
Process exited with code 255.