发布时间:2008-11-25 10:21   作者: wangpro   信息来源: PHPchina   [我来说两句(849条)] 看了一下PHP5.3的Late Static Bindings,简单了翻译一下 Late Static Bindings是在PHP5.3中加入的新特性,拼音来说,就是把本来在定义阶段固定下来的表达式或变量,改在执行阶段才决定,比如当一个子类继承了父类的静态表达式的时候,它的值并不能被改变,有时不希望看到这种情况

但是现在我想让其输出B,那么使用Late Static Bindings可实现这一特性了

<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();      
    }
}
class B extends A {      
    public static function who() {
         echo __CLASS__;
    }
}  
B::test();//输入A
?>
但是现在我想让其输出B,那么使用Late Static Bindings可实现这一特性了
<?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        static::who(); // Late Static Bindings     
    }
}
class B extends A {      
    public static function who() {
         echo __CLASS__;
    }
}  
B::test();//输出B
?>

PHP延迟静态捆绑Late Static Bindings相关推荐

  1. Java 静态变量,静态方法,静态常量(java static 关键字)

    Java 静态变量,静态方法,静态常量  就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...

  2. JVM—堆栈 堆 方法区 静态区 final static 内存分配

    原文作者:一夜丶鱼龙舞 原文地址:JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解(转) 一.栈(stack)和堆(heap) (1)内存分配的策略 按照编译原理的观点,程 ...

  3. C语言中变量的静态分配(Static)和动态分配(StackHeap)

    目录 C语言中变量的静态分配(Static)和动态分配(Stack&Heap) 变量的静态分配 包含了哪些变量? 全局变量和局部变量(staic关键字) 通过一个例子进行诠释 变量的动态分配 ...

  4. 静态检测工具STATIC以及静态分析的必要性

    这一篇向大家介绍的是我司静态检测工具STATIC以及静态分析的必要性.欢迎各位技术大牛发表自己的看法呀! 正常运行的软件就是完美的软件吗? 下图是漫威电影<黑豹>中给小编留下很深印象的场面 ...

  5. 记录vue-cli2打包项目静态文件夹static到七牛云存储上,并使用七牛云融合cdn的过程

    前言:vue-cli2打包项目静态文件夹static到七牛云存储上,并使用七牛云融合cdn 1.前期准备 npm install --save jsonfile jsonfile扩展说明文档 npm ...

  6. 静态局部变量和静态全程变量static。

    1. 什么是static? static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1 static 的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时, ...

  7. 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?

    答: Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示. / ...

  8. Java 中静态代码块 static的作用及用法

    java静态代码块的作用: Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用.一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需 ...

  9. 内部类不能有静态变量(除静态的对Static的理解)

    关于内部类(static与final) Static 不用实例化就能加载进内存 而内部类需要外部类实例化后才能加载进内存.这就间接造成static需要实例化了.与static不需要实例化语义矛盾 1. ...

最新文章

  1. 报名 | IBM苏中:从深蓝到AlphaGo,从大数据到认知商业
  2. 空气动力学测试软件,山寨也精确 简单方法测试最佳空气动力学姿势(图文)
  3. 网上商城—管理员增加商品
  4. Mac安装nginx配置过程
  5. 【开发者成长】Vue.js 中有哪些性能陷阱
  6. elementui树状菜单tree_Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)...
  7. 不仅仅于 Json和XML ,快来学习Google出品的序列化神器Protocol Buffer
  8. Python菜鸟入门:day07条件循环
  9. AI风向标:发改委重大工程项目公布,首个无人车路测试点落户亦庄
  10. 书单 | 职场办公类私藏好书,轻松Get职场必备技能
  11. 无法添加外键约束的原因(cannot add foreign key constraint)
  12. 一些非常简单的Python代码
  13. 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
  14. windows10 给指定扩展名扩展名添加右键菜单
  15. 苹果xr如何关机_苹果新系统让这些 iPhone 电量满血复活
  16. Anaconda安装中failed to create menus
  17. 【HTMLCSS】CSS当中设置背景图片不显示的问题
  18. 新型Linux恶意软件隐藏在无效日期中、黑客通过微软漏洞监视目标电脑|11月26日全球网络安全热点
  19. ublox ubx协议 c语言,Ublox-M8N GPS接收机UBX协议解析
  20. 常见的五大数据分析模型

热门文章

  1. HBuilder开发App教程06-首页
  2. 打开showModalDialog模式窗体并提交,且不打开新的IE窗口
  3. wireshark抓rtsp rtp rtcp包手把手教你分析包结构 H264 H265
  4. CSharp中的集合与字典:不同数据量的内存占用情况
  5. docker 网络模式研究了许久,其实我们需要的是docker run -p 80:80命令
  6. axure如何页面滑动时广告位上移_Axure实现滚动广告效果
  7. 1024 发福利,送你一份珍藏依旧的 Java,大数据礼包,确定不收藏 ?拒绝白嫖 !
  8. k-选取问题之快速选取策略quickSelection
  9. 量子侦探社之“寻猫记”
  10. 常用的140个Win XP设置技巧