3v4l.org

run code in 300+ PHP versions simultaneously
<?php class EventStatus { const SUCCESS = 'success'; const STOPPED = 'stopped'; const FAILED = 'failed'; private static $validStatuses = [ self::SUCCESS, self::STOPPED, self::FAILED ]; private $status = self::SUCCESS; public function __construct($aStatus = self::SUCCESS) { $this->validateStatus($aStatus); $this->status = (string) $aStatus; } public static function __callStatic($aStatus, $arguments = []) { return new static($aStatus); } public function isSuccess() { return ($this->status == self::SUCCESS); } public function isStopped() { return ($this->status == self::STOPPED); } public function isFailed() { return ($this->status == self::FAILED); } private function validateStatus($aStatus) { if (!in_array(str_to_lower($aStatus), static::$validStatuses)) { throw new DomainException("Invalid event status [$aStatus]"); } } } var_dump(EventStatus::Failed());
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught Error: Call to undefined function str_to_lower() in /in/epQUt:45 Stack trace: #0 /in/epQUt(19): EventStatus->validateStatus('Failed') #1 /in/epQUt(25): EventStatus->__construct('Failed') #2 /in/epQUt(51): EventStatus::__callStatic('Failed', Array) #3 {main} thrown in /in/epQUt on line 45
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:
44.08 ms | 401 KiB | 8 Q