Junior — Middle
Эгер подкласс ичинде аныкталбаган ыкмадан self:: аркылуу кайрсак, эмне болот?
sobes.tech AI
AIден жооп
PHPде self:: ачкыч сөзү дайыма жазылган класска шилтеме кылат, ал эми мураскор класска эмес. Эгер мураскор класста self:: аркылуу метод чакырылса жана ал мураскор класста эмес, ата-энесинин класында аныкталган болсо, PHP аны так мураскор класста табууга аракет кылат жана таба албайт, бул катага алып келет.
Мисал:
class ParentClass {
public static function foo() {
echo "Parent foo";
}
}
class ChildClass extends ParentClass {
public static function bar() {
self::foo(); // ChildClass ичинде self:: аркылуу foo() чакырууга аракет
}
}
ChildClass::bar(); // Ката: Call to undefined method ChildClass::foo()
Ата-энесинин классынын методун чакыруу үчүн parent::foo() же static::foo() колдонуш керек, эгер кеч статикалык байланыш керек болсо.