3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Test{ const OFF = -2147483647; // Logging is turned Off const OFF_STR = 'OFF'; const FATAL = -1; // Identical to Emergency const FATAL_STR = 'FATAL'; const EMERGENCY = 0; // System is unusable const EMERGENCY_STR = 'EMERGENCY'; const ALERT = 100; // Action Must be Taken Immediately const ALERT_STR = 'ALERT'; const CRITICAL = 200; // Critical Conditions const CRITICAL_STR = 'CRITICAL'; const ERROR = 300; // Error Conditions const ERROR_STR = 'ERROR'; const WARNING = 400; // Warning Conditions const WARNING_STR = 'WARNING'; const NOTICE = 500; // Normal, but significant conditions const NOTICE_STR = 'NOTICE'; const INFO = 600; // Informational messages const INFO_STR = 'INFO'; const DEBUG = 700; // Debug Level Messages const DEBUG_STR = 'DEBUG'; const TRACE = 800; // Trace Level Messages const TRACE_STR = 'TRACE'; const ALL = 2147483647; // Every Possible Log Level const ALL_STR = 'ALL'; private function Test($level, $levelStr){ $this->level = $level; $this->levelStr = $levelStr; } public static function getSomething(){ $cName = 'SOMETHING'; $sName = 'something'; self::setMap($cName,$sName); return self::$someMap[constant('Test::'.$cName)]; } public static function initLevelMap(){ $oClass = new ReflectionClass (__CLASS__); $constants = $oClass->getConstants(); foreach ($constants as $constant => $value){ if (is_int($value) && array_key_exists($constant.'_STR', $constants)){ print "$constant looks good.\n"; } } //var_dump($constants); } public static function setMap($cName,$sName){ if(!isset(self::$someMap[constant('Test::'.$cName)])) { print "setting it"; self::$someMap[constant('Test::'.$cName)] = new Test(constant('Test::'.$cName), $sName); } return self::$someMap; } } Test::initLevelMap();
based on bUuhM
Output for 7.0.0 - 7.1.0
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Test has a deprecated constructor in /in/kRVoT on line 2 OFF looks good. FATAL looks good. EMERGENCY looks good. ALERT looks good. CRITICAL looks good. ERROR looks good. WARNING looks good. NOTICE looks good. INFO looks good. DEBUG looks good. TRACE looks good. ALL looks good.
Output for 5.0.0 - 5.6.28, hhvm-3.10.0 - 3.12.0
OFF looks good. FATAL looks good. EMERGENCY looks good. ALERT looks good. CRITICAL looks good. ERROR looks good. WARNING looks good. NOTICE looks good. INFO looks good. DEBUG looks good. TRACE looks good. ALL looks good.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kRVoT on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/kRVoT on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/kRVoT on line 4
Process exited with code 255.