ホームページ  >  記事  >  バックエンド開発  >  PHPの遅延静的バインディング

PHPの遅延静的バインディング

不言
不言オリジナル
2018-07-09 17:45:101220ブラウズ

この記事では、主に参考価値のある PHP の後期静的バインディングを紹介します。今から皆さんに共有します。必要な友人は参考にしてください。

PHP 5.3.0 からは、 PHP には、継承スコープ内で静的に呼び出されたクラスを参照するために使用される、late static binding と呼ばれる機能が追加されました。これは PHP の公式説明です。つまり、クラスの継承プロセス中に、使用されたクラスは現在のクラスではなくなります。クラスですが、呼び出し側クラスです。

後期静的バインディングは、キーワード static を使用して実装されます。このメカニズムにより、「static::」は現在のメソッドが定義されているクラスに解決されなくなりますが、実行中に計算されます。実際の実行時: 取得される結果は、実行時に最初に呼び出されるクラスです。

これは「遅延静的バインディング」と呼ばれていますが、静的メソッドの呼び出しに限定されません。

class A{
    public static function call(){
        echo "class A<br/>";
    }
    public static function test(){
        self::call();
        static::call();
    }
}
class B extends A{
    public static function call(){
        echo "class B";
    }
}

echo (B::test());
//输出结果:
//class A
//class B

以上がこの記事の全内容です。皆様の学習に少しでもお役に立てれば幸いです。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

PHP は、電子メールの送信とスパムとして扱われないように実装するだけです

PHP の使用方法配列

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

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