ホームページ >バックエンド開発 >PHPチュートリアル >PHP 静的バインディング static::

PHP 静的バインディング static::

WBOY
WBOYオリジナル
2016-06-23 13:27:27821ブラウズ

静的バインディングの static:: については、ここではあまり説明しません。この例は公式ドキュメントからのものです:

例 1:

class A{   private function foo(){       echo "this is a test function"."<br>";   }   public function test(){       $this->foo();       static::foo();   }}$A=new A();$A->test();

出力結果:
これはテスト関数です
これはテスト関数です

例 2:

class A{   private function foo(){       echo "this is a test function"."<br>";   }   public function test(){       $this->foo();       static::foo();   }}class B extends A{}$B=new B();$B->test();

出力結果:
これはテスト関数です
これはテスト関数です

例 3:

class A{   private function foo(){       echo "this is a test function"."<br>";   }   public function test(){       $this->foo();       static::foo();   }}class B extends A{}class C extends A{   private function foo(){   }    } $C=new C();$C->test();

出力結果:
これはテスト関数
( ! ) 致命的なエラー: D:wwwtestXdebugindex.php の 21 行目でコンテキスト 'A' からプライベート メソッド C::foo() を呼び出します
呼び出しスタック
タイム メモリ関数の場所
1 0.0156 135536 {main}( ) …index. php:0
2 0.0156 135936 A->test( ) …index.php:35

著作権表示: この記事はブロガーによるオリジナル記事であり、ブロガーの許可なく複製することはできません。

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