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

 更新时间:2016年03月16日 11:24:31   作者:allen0228  
这篇文章主要介绍了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实现根据身份证获取精准年龄,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 详解WordPress中创建和添加过滤器的相关PHP函数

    详解WordPress中创建和添加过滤器的相关PHP函数

    这篇文章主要介绍了WordPress中创建和添加过滤器的相关PHP函数,分别是apply_filters()函数和add_filter()函数的使用,需要的朋友可以参考下
    2015-12-12
  • PHP中的Iterator迭代对象属性详解

    PHP中的Iterator迭代对象属性详解

    这篇文章主要给大家介绍了关于PHP中Iterator迭代对象属性的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 详解PHP 二维数组排序保持键名不变

    详解PHP 二维数组排序保持键名不变

    这篇文章主要介绍了如何保持PHP 二维数组排序键名不变,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • thinkphp使用url请求调用ThinkApi天气教程【图文详解】

    thinkphp使用url请求调用ThinkApi天气教程【图文详解】

    这篇文章主要介绍了thinkphp使用url请求调用ThinkApi天气的方法,结合实例形式详细分析了thinkphp服务市场接口的注册、接口调用、信息发送、获取相关操作技巧与注意事项,需要的朋友可以参考下
    2023-07-07
  • php析构函数的简单使用说明

    php析构函数的简单使用说明

    与构造函数相反,在PHP5中,可以定义一个名为__destruct()的函数,称之为PHP5析构函数,PHP将在对象在内存中被销毁前调用析构函数,使对象在彻底消失之前完成一些工作。对象在销毁一般可以通过赋值为null实现。
    2015-08-08
  • php实现比较全的数据库操作类

    php实现比较全的数据库操作类

    这篇文章主要介绍了php实现比较全的数据库操作类,可实现基本的数据库连接、执行SQL语句及错误提示等相关技巧,需要的朋友可以参考下
    2015-06-06
  • PHP通过插入mysql数据来实现多机互锁实例

    PHP通过插入mysql数据来实现多机互锁实例

    这篇文章主要介绍了PHP通过插入mysql数据来实现多机互锁的方法,包括了加锁与释放锁的完整实现方法,非常实用,需要的朋友可以参考下
    2014-11-11
  • php中的Base62类(适用于数值转字符串)

    php中的Base62类(适用于数值转字符串)

    以下是对php中Base62类的用法进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • PHP实现微信退款的方法示例

    PHP实现微信退款的方法示例

    这篇文章主要介绍了PHP实现微信退款的方法,结合实例形式分析了php微信退款功能操作类与相关使用技巧,需要的朋友可以参考下
    2019-03-03

最新评论