ホームページ  >  記事  >  バックエンド開発  >  PHPの静的バインディングの詳細な説明

PHPの静的バインディングの詳細な説明

韦小宝
韦小宝オリジナル
2018-03-14 12:44:511257ブラウズ

この記事では、PHP の静的バインディングについて簡単に説明します。PHP の静的バインディングに慣れていない学生は、PHP の静的バインディングに関するこの記事を参照してください。

後期静的バインディング は、前の「非転送呼び出し」 (非転送呼び出し) にクラス名を保存することによって機能します。 non-forwarding call)的类名。

  • 当进行静态方法调用时,该类名即为明确指定的那个(通常在 :: 运算符左侧部分);

  • 当进行非静态方法调用时,即为该对象所属的类。

所谓的“转发调用”(forwarding  call)指的是通过以下几种方式进行的静态调用self::parent::static:: 以及forward_static_call() 。可用 get_called_class()函数来得到被调用的方法所在的类名,static::


  • 静的メソッド呼び出しを行う場合、クラス名は明示的に指定されたものです (通常は:: operator左部分);

  • 非静的メソッド呼び出しが行われるとき、それはオブジェクトが属するクラスです。

いわゆる「通話の転送」 (通話の転送) とは、次のメソッドを指します: 静的呼び出し : 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 ポスト OPP ポスト静的バインディング🎜🎜

以上がPHPの静的バインディングの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。