<?php
class Foo {
public $obj;
}
class Zoo {
private $obj;
public function setObj($obj) { $this->obj = $obj; }
public function show() { var_dump($this->obj); }
}
class Bar {}
class Baz {}
$foo = new Foo();
$zoo = new Zoo();
$a = new Bar();
$b = new Baz();
$zoo->obj = &$foo->obj;
//$tmp = &$foo->obj;
$zoo->setObj($tmp);
$zoo->show();
$foo->obj = $a;
$zoo->show();
$foo->obj = $b;
$zoo->show();
Fatal error: Uncaught Error: Cannot access private property Zoo::$obj in /in/R4qiY:21
Stack trace:
#0 {main}
thrown in /in/R4qiY on line 21
Process exited with code 255.
Fatal error: Uncaught Error: Cannot access private property Zoo::$obj in /in/R4qiY:21
Stack trace:
#0 {main}
Next Error: Cannot access private property Zoo::$obj in /in/R4qiY:21
Stack trace:
#0 {main}
thrown in /in/R4qiY on line 21
Process exited with code 255.
Fatal error: Cannot access private property Zoo::$obj in /in/R4qiY on line 21
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/R4qiY on line 3
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/R4qiY on line 3
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/R4qiY on line 3
Process exited with code 255.