Birkaç çocuk sınıflar çağrılabilir gereken bir sınıf statik bir işlevi var. Ben o işlev içinde kullanılabilir olması için çağıran alt sınıf bir sabit gerekir. Diğer yerlerde bu sabitler kullanılabilir olması, çocuk sınıflar o sabiti (php 5.2.9) değerini döndüren bir işlevi var.
Ancak, üst sınıfında, ben fonksiyonu ile ne doğrudan, bu sabit değil erişmek için görünmüyor olabilir. Hatta mümkün php 5.2.9 ya da ben bir argüman olarak geçmesi gerekiyor mı?
Bu kod basit bir versiyonu:
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();
Edit: üretilen hata:
- ) Tanımsız yöntemi EbeveynSınıf :: show_const (Call (fonksiyonu)
- Tanımsız sınıf sabiti 'SOME_CONST' (kullanarak self :: SOME_CONST)