3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Server { private $hostname; private $cpu; private $ram; public function __construct($hostname, $cpu, $ram) { $this->hostname = $hostname; $this->cpu = $cpu; $this->ram = $ram; } public function getHostname() { return $this->hostname; } public function setHostname($hostname) { return $this->hostname = ($hostname == null ? $this->_exception("Hostname must not be null.") : $hostname); } public function getCpu() { return $this->cpu; } public function setCpu($cpu) { return $this->cpu = ($cpu == null ? $this->_exception("CPU must not be null.") : $cpu); } public function getRam() { return $this->ram; } public function setRam($ram) { return $this->ram = ($ram == null ? $this->_exception("RAM must not be null.") : $ram); } public function getRamInGb() { return $this->ram / 1024; } public function addRam($ram) { return $this->ram = ($ram === null ? $this->_exception("RAM must not be null.") : $this->ram + $ram); } public function subRam($ram) { return $this->ram = ($this->ram - $ram < 0 ? $this->_exception("RAM must not result in a below-zero value.") : $this->ram - $ram); } protected function _exception($text = null) { throw new InvalidArgumentException($text); } } $server = new Server("test.com", "Intel Xeon E5-2680 v2 2.8Ghz", 1024); echo $server->getHostname(); // "test.com" echo $server->setHostname("test.com"); // "test.com" echo $server->getCpu(); // "Intel Xeon E5-2680 v2 2.8Ghz" echo $server->setCpu("Intel Xeon E5-2680 v3 2.8Ghz"); // "Intel Xeon E5-2680 v3 2.8Ghz" echo $server->getRam(); // 1024 echo $server->getRamInGb(); // 1 echo $server->addRam(1024); // 2048 echo $server->getRamInGb(); // 2 echo $server->subRam(1024); // 1024 echo $server->getRamInGb(); // 1 echo $server->subRam(1024); // 0 echo $server->getRamInGb(); // 0 echo $server->subRam(1024); // InvalidArgumentException echo $server->getRamInGb(); // 0 echo $server->setRam(1024); // 1024 echo $server->getRamInGb(); // 1 echo $server->setRam(-1024); // InvalidArgumentException echo $server->getRamInGb(); // 1
Output for git.master, git.master_jit, rfc.property-hooks
test.comtest.comIntel Xeon E5-2680 v2 2.8GhzIntel Xeon E5-2680 v3 2.8Ghz10241204821024100 Fatal error: Uncaught InvalidArgumentException: RAM must not result in a below-zero value. in /in/sa9XT:62 Stack trace: #0 /in/sa9XT(57): Server->_exception('RAM must not re...') #1 /in/sa9XT(79): Server->subRam(1024) #2 {main} thrown in /in/sa9XT on line 62
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:
54.2 ms | 401 KiB | 8 Q