여러 자식 클래스에서 호출해야하는 클래스에 정적 함수가 있습니다. 호출 자식 클래스에서 해당 함수에서 상수가 필요합니다. 이 상수를 다른 곳에서 사용할 수있게하려면 자식 클래스에 상수 값을 반환하는 함수가 있어야합니다 (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 사용)
생성되고있어 사용자들은? –