- constant: documentation ( source)
<?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();