<?php
class SomeObject {
protected $message;
public function __construct($message) {
$this->message = $message;
}
}
class Proxy extends SomeObject {
protected $proxied;
public function __construct(SomeObject $o) {
$this->proxied = $o;
}
public function __get( $property ){
return $this->proxied->message;
}
public function __call( $m,$data ){
$this->proxied->message = $data[0];
}
}
$p = new Proxy( new SomeObject('Hope springs eternal.'));
echo $p->QuoteOfTheDay;
$p->ResetMessage('Never say "Never!"');
echo $p->QuoteOfTheDay;
Fatal error: Cannot access protected property SomeObject::$message in /in/TXB8o on line 15
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/TXB8o 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/TXB8o 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/TXB8o on line 3
Process exited with code 255.