3v4l.org

run code in 300+ PHP versions simultaneously
<?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->testtreit(); ?>
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Fatal error: Uncaught ArgumentCountError: Too few arguments to function MyProxy::__construct(), 0 passed in /in/UX2EI on line 37 and exactly 1 expected in /in/UX2EI:13 Stack trace: #0 /in/UX2EI(37): MyProxy->__construct() #1 {main} thrown in /in/UX2EI on line 13
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 Fatal error: Uncaught ArgumentCountError: Too few arguments to function MyProxy::__construct(), 0 passed in /in/UX2EI on line 37 and exactly 1 expected in /in/UX2EI:13 Stack trace: #0 /in/UX2EI(37): MyProxy->__construct() #1 {main} thrown in /in/UX2EI 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/UX2EI on line 37 and defined in /in/UX2EI on line 13 Notice: Undefined variable: object in /in/UX2EI on line 14 Fatal error: Uncaught InvalidArgumentException: $object must be an object in /in/UX2EI:15 Stack trace: #0 /in/UX2EI(37): MyProxy->__construct() #1 {main} thrown in /in/UX2EI on line 15
Process exited with code 255.
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Warning: Missing argument 1 for MyProxy::__construct(), called in /in/UX2EI on line 37 and defined in /in/UX2EI on line 13 Notice: Undefined variable: object in /in/UX2EI on line 14 Fatal error: Uncaught exception 'InvalidArgumentException' with message '$object must be an object' in /in/UX2EI:15 Stack trace: #0 /in/UX2EI(37): MyProxy->__construct() #1 {main} thrown in /in/UX2EI on line 15
Process exited with code 255.

preferences:
180.28 ms | 402 KiB | 183 Q