Heim  >  Artikel  >  Backend-Entwicklung  >  PHP Static延迟静态绑定用法分析,static静态_PHP教程

PHP Static延迟静态绑定用法分析,static静态_PHP教程

WBOY
WBOYOriginal
2016-07-12 08:56:511011Durchsuche

PHP Static延迟静态绑定用法分析,static静态

本文实例讲述了PHP Static延迟静态绑定用法。分享给大家供大家参考,具体如下:

PHP5.3以后引入了延迟静态绑定static,它是为了解决什么问题呢?php的继承模型中有一个存在已久的问题,那就是在父类中引用扩展类的最终状态比较困难。来看一个例子。

class A 
{ 
  public static function echoClass(){ 
    echo __CLASS__; 
  }
  public static function test(){ 
    self::echoClass();    
  }
}
class B extends A 
{    
  public static function echoClass() 
  { 
     echo __CLASS__; 
  } 
} 
B::test(); //输出A

在PHP5.3中加入了一个新特性:延迟静态绑定,就是把本来在定义阶段固定下来的表达式或变量,改在执行阶段才决定,比如当一个子类继承了父类的静态表达式的时候,它的值并不能被改变,有时不希望看到这种情况。

下面的例子解决了上面提出的问题:

class A 
{ 
  public static function echoClass(){ 
    echo __CLASS__; 
  } 
  public static function test() 
  { 
    static::echoClass();    
  } 
} 
class B extends A 
{    
  public static function echoClass(){ 
     echo __CLASS__; 
  } 
} 
B::test(); //输出B

第8行的static::echoClass();定义了一个静态延迟绑定方法,直到B调用test的时候才执行原本定义的时候执行的方法。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php操作office文档技巧总结(包括word,excel,access,ppt)》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • 简单谈谈php延迟静态绑定
  • php延迟静态绑定实例分析
  • PHP延迟静态绑定示例分享
  • 开启PHP Static 关键字之旅模式
  • php之static静态属性与静态方法实例分析
  • PHP中static关键字以及与self关键字的区别
  • PHP面向对象之旅:深入理解static变量与方法
  • 浅析php变量修饰符static的使用
  • 解析php中static,const与define的使用区别
  • PHP类的静态(static)方法和静态(static)变量使用介绍

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1111342.htmlTechArticlePHP Static延迟静态绑定用法分析,static静态 本文实例讲述了PHP Static延迟静态绑定用法。分享给大家供大家参考,具体如下: PHP5.3以后引入了...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn