PHP Static延迟静态绑定用法分析
发布:smiling 来源: PHP粉丝网 添加日期:2019-11-17 18:30:54 浏览: 评论:0
本文实例讲述了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
- //phpfensi.com
- {
- public static function echoClass(){
- echo __CLASS__;
- }
- }
- B::test(); //输出B
第8行的static::echoClass();定义了一个静态延迟绑定方法,直到B调用test的时候才执行原本定义的时候执行的方法。
Tags: Static 静态绑定
相关文章
- ·PHP static 静态变量和属性方法使用说明(2014-07-15)
- ·php中static静态类与static 静态变量用法区别(2014-08-29)
- ·php静态变量define,static,const(2014-09-18)
- ·PHP static局部静态变量和全局静态变量总结(2020-09-27)
- ·php类中的$this,static,final,const,self这几个关键字使用方法(2021-06-29)
- ·PHP Static延迟静态绑定用法分析(2021-07-14)
- ·详解php用static方法的原因(2021-10-29)
- ·PHP中Static(静态)关键字功能与用法实例分析(2021-11-15)
- ·PHP延迟静态绑定的深入讲解(2021-09-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)