ホームページ  >  記事  >  バックエンド開発  >  PHP 後期静的バインディングの例の共有

PHP 後期静的バインディングの例の共有

小云云
小云云オリジナル
2018-03-13 11:47:371118ブラウズ

1. 遅延静的バインディングの動作原理は、前の「非転送呼び出し」にクラス名を保存することです。静的メソッド呼び出しを行う場合、クラス名は明示的に指定されたもの (通常は :: 演算子の左側) であり、非静的メソッド呼び出しを行う場合は、オブジェクトが属するクラスです。この機能は、言語内部の観点から「遅延静的バインディング」と呼ばれています。 「遅延バインディング」とは、static:: が現在のメソッドが定義されているクラスに解決されず、実際の実行時に計算されることを意味します。

2. テスト例:

class A{    public function run()    
{        static::test(); //后期静态绑定        
self::test(); //不是后期静态绑定    }    
public static function test()    
{        echo &#39;A Class<br>&#39;;    
}}class B extends A
{    public static function test()   
{        echo &#39;B Class<br>&#39;;    }}
$a = new B();$a->run();
//输出结果
//B Class
//A Class

関連する推奨事項:

Laravel の遅延静的バインディングの詳細な説明

PHP オブジェクト指向の遅延静的バインディング関数の概要

php 遅延静的バインディング

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

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