この記事では、PHP の静的バインディングについて簡単に説明します。PHP の静的バインディングに慣れていない学生は、PHP の静的バインディングに関するこの記事を参照してください。
後期静的バインディング は、前の「非転送呼び出し」 (非転送呼び出し
) にクラス名を保存することによって機能します。 non-forwarding call
)的类名。
当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);
当进行非静态方法调用时,即为该对象所属的类。
所谓的“转发调用”(forwarding call
)指的是通过以下几种方式进行的静态调用:self::
,parent::
,static::
以及forward_static_call()
。可用 get_called_class()
函数来得到被调用的方法所在的类名,static::
通話の転送
) とは、次のメソッドを指します: 静的呼び出し : self::
、parent::
、static:: code> と <code>forward_static_call()
。 get_called_class()
関数を使用すると、呼び出されたメソッドのクラス名を取得でき、static::
はそのスコープを示します。 self:: の制限 現在のメソッドが定義されているクラスに応じて、現在のクラスへの静的 reference
を行うには、self:: またはCLASS
を使用します: 例:class A { public static function who () { echo CLASS ; } public static function test () { self :: who (); } } class B extends A { public static function who () { echo CLASS ; } } B :: test ();結果:
// A上で説明したように、この記事の内容をすべて読んだ後は、誰もが混乱するはずです。例とともにさらに読んで、そのうちの 2 つを自分で実装していただければ幸いです。
関連する推奨事項:
以上がPHPの静的バインディングの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。