【发布时间】:2014-10-27 12:18:44
【问题描述】:
为什么下面的代码给我一个异常说我的常量没有定义
MyClass::myFunction(MyClass::MY_CONST); // THIS GIVES THE ERROR
// This is the class..
class MyClass {
const MY_CONST = 'BLA';
public static function myFunction($key) {
if (!defined($key)) {
throw new Exception("$key is not defined as a constant");
}
}
}
我试过了
if (!defined($key)) {}if (!defined(self::$key)) {}if (!defined(__CLASS__ . $key)) {}
【问题讨论】:
-
可以说是时间问题。您正在尝试在定义之前使用该常量。
-
你需要将它作为字符串传递
-
在尝试编写示例代码时,我想知道您什么时候会使用它?如果未定义
MY_CONST,您将无法在第一行中使用它