<?php
class MyClass
{
private $string;
private $array;
public function __set($attribute, $value)
{
$this->$attribute = $value;
}
public function __get($attribute)
{
if (isset($attribute))
{
return $this->$attribute;
}
}
}
$obg = new MyClass();
$obg->string = 'Hey it works!';
$obg->array = new ArrayObject(['This works', 'too!']);
$obg->array['key'] = "This will throw 'Indirect modification of overloaded property MyClass::\$array has no effect'";
print_r($obg->array);
ArrayObject Object
(
[storage:ArrayObject:private] => Array
(
[0] => This works
[1] => too!
[key] => This will throw 'Indirect modification of overloaded property MyClass::$array has no effect'
)
)
Parse error: syntax error, unexpected '[', expecting ')' in /in/iBtcU on line 26
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[', expecting ')' in /in/iBtcU on line 26
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/iBtcU on line 6
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/iBtcU on line 6
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/iBtcU on line 6
Process exited with code 255.