<?php
class a {
}
class b extends a {
protected $object;
public function __construct() {
$this->object = new stdClass();
$this->object->name = "default";
}
public function setObject(a $object) {
$this->object = $object;
}
public function getObject() {
return $this->object;
}
public function __clone() {
$this->object = clone $this->object;
}
}
class runner {
public $target;
public function __construct() {
$this->target = new b();
}
public function run() {
$object1 = new a();
$object1->name = "object1";
$object2 = new a();
$object2->name = "object2";
if (1 == 2) {
//
} elseif ($object1 instanceof $this->target->object) {
$b2 = clone $this->target;
$b2->object = $object1;
echo $b2->getObject()->name;
}
}
}
$runner = new runner();
$runner->run();
Deprecated: Creation of dynamic property a::$name is deprecated in /in/8un1E on line 40
Deprecated: Creation of dynamic property a::$name is deprecated in /in/8un1E on line 42
Fatal error: Uncaught Error: Cannot access protected property b::$object in /in/8un1E:47
Stack trace:
#0 /in/8un1E(57): runner->run()
#1 {main}
thrown in /in/8un1E on line 47
Process exited with code 255.
Fatal error: Uncaught Error: Cannot access protected property b::$object in /in/8un1E:47
Stack trace:
#0 /in/8un1E(57): runner->run()
#1 {main}
thrown in /in/8un1E on line 47
Process exited with code 255.
Fatal error: Cannot access protected property b::$object in /in/8un1E on line 47
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/8un1E on line 8
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/8un1E on line 8
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/8un1E on line 8
Process exited with code 255.