3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php abstract class messageDetail { abstract function filter($msg); } class setmessage extends messageDetail { public function filter($msg) { return $msg; } } class messageHandle extends messageDetail { public $message; public $obj; public function __construct($obj) { $this -> obj = $obj; } public function filter($msg) { $this -> message = $msg; } } class htmlFilter extends messageHandle { public function filter($msg) { parent::filter($msg); return 'html过滤'. $this->$obj->filter($msg); } } class ensitiveFilter extends messageHandle { public function filter($msg) { parent::filter($msg); return '敏感词汇过滤'.$this->message; } } $obj = new htmlFilter(new ensitiveFilter(new setmessage())); echo $obj -> filter('测试一下');
Output for 7.1.0 - 7.3.0rc4
Notice: Undefined variable: obj in /in/GEn5n on line 35 Notice: Undefined property: htmlFilter::$ in /in/GEn5n on line 35 Fatal error: Uncaught Error: Call to a member function filter() on null in /in/GEn5n:35 Stack trace: #0 /in/GEn5n(49): htmlFilter->filter('\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x80\xE4\xB8\x8B') #1 {main} thrown in /in/GEn5n on line 35
Process exited with code 255.
Output for 7.0.0 - 7.0.20
Notice: Undefined variable: obj in /in/GEn5n on line 35 Fatal error: Uncaught Error: Cannot access empty property in /in/GEn5n:35 Stack trace: #0 /in/GEn5n(49): htmlFilter->filter('\xE6\xB5\x8B\xE8\xAF\x95\xE4\xB8\x80\xE4\xB8\x8B') #1 {main} thrown in /in/GEn5n on line 35
Process exited with code 255.
Output for 5.0.5 - 5.6.28
Notice: Undefined variable: obj in /in/GEn5n on line 35 Fatal error: Cannot access empty property in /in/GEn5n on line 35
Process exited with code 255.
Output for 5.0.4
Notice: Undefined variable: obj in /in/GEn5n on line 35 Notice: Undefined property: htmlFilter::$ in /in/GEn5n on line 35 Fatal error: Call to a member function filter() on a non-object in /in/GEn5n on line 35
Process exited with code 255.
Output for 5.0.0 - 5.0.3
Notice: Undefined variable: obj in /in/GEn5n on line 35 Notice: Undefined property: htmlFilter::$ in /in/GEn5n on line 35 Fatal error: Call to a member function filter() on a non-object in /in/GEn5n on line 35
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/GEn5n on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CLASS in /in/GEn5n on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/GEn5n on line 2
Process exited with code 255.