Home >Backend Development >PHP Tutorial >php 静态绑定之static::

php 静态绑定之static::

WBOY
WBOYOriginal
2016-06-23 13:27:27821browse

对于静态绑定中的static::在此不多做解释,我想用实例来证明,这个例子是来自官方文档:

For example one:

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

输出结果:
this is a test function
this is a test function

For example Two:

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();

输出结果:
this is a test function
this is a test function

For example three:

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();

输出结果:
this is a test function
( ! ) Fatal error: Call to private method C::foo() from context ‘A’ in D:\www\testXdebug\index.php on line 21
Call Stack
Time Memory Function Location
1 0.0156 135536 {main}( ) …\index.php:0
2 0.0156 135936 A->test( ) …\index.php:35

版权声明:本文为博主原创文章,未经博主允许不得转载。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn