3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Address { protected $city; public function getCity() { return $this->city; } public function setCity($city) { $this->city=$city; } } class Person { protected $name="Tester"; protected $address; public function __construct() { $this->address = new Address; } public function getName(){ return $this->name; } public function __call($method, $args){ if (method_exists($this->address,$method)) { return call_user_func_array( array($this->address,$method),$args); } } } $sharbear = new Person; echo $sharbear->setCity("Baltimore"); echo "Name: ",$sharbear->getName(),"\n"; echo "City: ",$sharbear->getCity();
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
Name: Tester City: Baltimore

preferences:
118.25 ms | 408 KiB | 5 Q