3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php trait Test{ public function testtreit(){ return 'Это трейт !'; } } class MyProxy { protected $_object = null; protected $_methods = array(); public function __construct($object) { if (!is_object($object)) { throw new InvalidArgumentException('$object must be an object'); } $this->_object = $object; } public function __call($name, $arguments) { return $this->callMethod($name, $arguments); } public function setMethod($name, Closure $method) { $this->_methods[(string) $key] = $method; } public function callMethod($name, array $arguments) { if (isset($this->_methods[$name])) { return call_user_func_array($this->_methods[$name], $arguments); } return call_user_func_array(array($this->_object, $name), $arguments); } } $ar = new MyProxy(); $ar->setMethod('testtreit'); ?>
based on UX2EI
Output for 7.1.0 - 7.2.0
Fatal error: Uncaught ArgumentCountError: Too few arguments to function MyProxy::__construct(), 0 passed in /in/vr5YL on line 37 and exactly 1 expected in /in/vr5YL:13 Stack trace: #0 /in/vr5YL(37): MyProxy->__construct() #1 {main} thrown in /in/vr5YL on line 13
Process exited with code 255.
Output for 7.0.0 - 7.0.20
Warning: Missing argument 1 for MyProxy::__construct(), called in /in/vr5YL on line 37 and defined in /in/vr5YL on line 13 Notice: Undefined variable: object in /in/vr5YL on line 14 Fatal error: Uncaught InvalidArgumentException: $object must be an object in /in/vr5YL:15 Stack trace: #0 /in/vr5YL(37): MyProxy->__construct() #1 {main} thrown in /in/vr5YL on line 15
Process exited with code 255.
Output for 5.4.10 - 5.6.28
Warning: Missing argument 1 for MyProxy::__construct(), called in /in/vr5YL on line 37 and defined in /in/vr5YL on line 13 Notice: Undefined variable: object in /in/vr5YL on line 14 Fatal error: Uncaught exception 'InvalidArgumentException' with message '$object must be an object' in /in/vr5YL:15 Stack trace: #0 /in/vr5YL(37): MyProxy->__construct() #1 {main} thrown in /in/vr5YL on line 15
Process exited with code 255.
Output for 5.3.20 - 5.3.29
Parse error: syntax error, unexpected T_STRING in /in/vr5YL on line 2
Process exited with code 255.