class A { public static function echoClass() { echo __CLASS__; }
public function what(){ echo __CLASS__;}
public static function test() { <pre name="code" class="php"> $this->what(); //输出Bstatic::echoClass(); //出力 B self::echoClass(); //出力 A } } class B extends A { public static function echoClass() { echo __CLASS__; );
staticは呼び出し元クラスのオブジェクトを参照し、$thisも現在呼び出しているクラスのオブジェクトを参照しますが、 $thisはできません。静的属性を呼び出すには、selfを使用できます。また、__CLASS__は、クラスの名前を指定するために使用されます。これは、通常、クラスメソッドを登録するために使用されます。
class B extends A { public static function echoClass($name=1) { spl_autoload_register(array(__CLASS__,"echoClass")); echo __CLASS__; } }
著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
上記では、php53 の新機能である遅延静的バインディングをその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。