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->setMethod('testtreit'); ?>
Output for git.master, git.master_jit, rfc.property-hooks
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.

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
61.31 ms | 401 KiB | 8 Q