У меня есть статическая функция в классе, которую нужно вызывать из нескольких дочерних классов. Мне нужна константа из вызывающего дочернего класса, чтобы быть доступным в этой функции. Чтобы эти константы были доступны в других местах, у дочерних классов есть функция, которая возвращает значение этой константы (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)