【发布时间】:2012-05-27 16:36:15
【问题描述】:
我在执行此操作时有疑问:
class Logger {
public static $log_INFO = 'INFO';
public static $log_ERROR = 'ERROR';
public function log($logLevel, $param2, $param3) {
// Write log to some file
}
}
class Midea {
public function fn1 {
$logger = new Logger();
$logger->log(Logger::$log_INFO, 'some', 'some2');
}
}
现在我的问题是:有没有办法让 Logger 类中的日志函数只接受 Logger 类的静态变量(任何静态变量)?它不应该接受任何其他字符串或整数作为参数。
【问题讨论】:
-
如果您做出以下决定之一,我的代码可以工作: a) 所有日志级别属性都将以“log_”为前缀;或 b) 所有日志级别的属性都有自己的属性名称作为值。如果 a) 我可以更改代码以获得正确的 ReflectionProperty,如果 b) 代码已经正确。