我在一个需要从多个子类调用的类中有一个静态函数。我需要调用子类中的一个常量才能在该函数中使用。为了让这些常量在其他地方可用,子类有一个返回该常量值的函数(php 5.2.9)。
但是,在父类中,我似乎无法访问该常量,既不能使用函数也不能直接访问。这在 php 5.2.9 中是否可行,还是我需要将其作为参数传递?
这是代码的简单版本:
abstract class ParentClass {
static function DoSomething() {
$not_working = self::show_const();
$not_working_either = self::SOME_CONST;
return 'working';
}
}
class ChildClass extends ParentClass {
const SOME_CONST = 'some string';
function show_const() {
return self::SOME_CONST;
}
}
$result = ChildClass::DoSomething();
编辑:产生的错误是:
- 调用未定义的方法 ParentClass::show_const() (用于函数)
- 未定义的类常量“SOME_CONST”(使用 self::SOME_CONST)