今までに少し理解できたら、何もわからないことに気づきます。私はとても混乱していて、理解するのに苦労していて、理解することができません。誰かが自分自身、親、静的を使用しているときにこのプログラムを説明することができ、私が行うすべての最小の変更は、何が起こっているのか理解できないことなしに結果を変更します。どうもありがとう ..
http://docs.php.net/language.oop5.late-static-bindingsのコード
<?php
class A {
public static function foo() {
static::who();
}
public static function who() {
echo __CLASS__."\n";
}
}
class B extends A {
public static function test() {
A::foo();
parent::foo();
self::foo();
}
public static function who() {
echo __CLASS__."\n";
}
}
class C extends B {
public static function who() {
echo __CLASS__."\n";
}
}
C::test();
?>
出力は次のとおりです。
A
C
C