PHP延迟静态捆绑Late Static Bindings
发布时间: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相关推荐
- Java 静态变量,静态方法,静态常量(java static 关键字)
Java 静态变量,静态方法,静态常量 就是变量 ,方法,常量前面添加了static 关键字 为什么要使用静态的呢 有时候在处理问题时会需要两个类在同一个内存区域共享一个数据, 不如现在 Main ...
- JVM—堆栈 堆 方法区 静态区 final static 内存分配
原文作者:一夜丶鱼龙舞 原文地址:JAVA 堆栈 堆 方法区 静态区 final static 内存分配 详解(转) 一.栈(stack)和堆(heap) (1)内存分配的策略 按照编译原理的观点,程 ...
- C语言中变量的静态分配(Static)和动态分配(StackHeap)
目录 C语言中变量的静态分配(Static)和动态分配(Stack&Heap) 变量的静态分配 包含了哪些变量? 全局变量和局部变量(staic关键字) 通过一个例子进行诠释 变量的动态分配 ...
- 静态检测工具STATIC以及静态分析的必要性
这一篇向大家介绍的是我司静态检测工具STATIC以及静态分析的必要性.欢迎各位技术大牛发表自己的看法呀! 正常运行的软件就是完美的软件吗? 下图是漫威电影<黑豹>中给小编留下很深印象的场面 ...
- 记录vue-cli2打包项目静态文件夹static到七牛云存储上,并使用七牛云融合cdn的过程
前言:vue-cli2打包项目静态文件夹static到七牛云存储上,并使用七牛云融合cdn 1.前期准备 npm install --save jsonfile jsonfile扩展说明文档 npm ...
- 静态局部变量和静态全程变量static。
1. 什么是static? static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性. 1.1 static 的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时, ...
- 静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
答: Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化.而通常的内部类需要在外部类实例化后才能实例化,其语法看起来挺诡异的,如下所示. / ...
- Java 中静态代码块 static的作用及用法
java静态代码块的作用: Java静态代码块中的代码会在类加载JVM时运行,且只被执行一次,也就是说这些代码不需要实例化类就能够被调用.一般情况下,如果有些代码必须在项目启动的时候就执行的时候,就需 ...
- 内部类不能有静态变量(除静态的对Static的理解)
关于内部类(static与final) Static 不用实例化就能加载进内存 而内部类需要外部类实例化后才能加载进内存.这就间接造成static需要实例化了.与static不需要实例化语义矛盾 1. ...
最新文章
- 报名 | IBM苏中:从深蓝到AlphaGo,从大数据到认知商业
- 空气动力学测试软件,山寨也精确 简单方法测试最佳空气动力学姿势(图文)
- 网上商城—管理员增加商品
- Mac安装nginx配置过程
- 【开发者成长】Vue.js 中有哪些性能陷阱
- elementui树状菜单tree_Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)...
- 不仅仅于 Json和XML ,快来学习Google出品的序列化神器Protocol Buffer
- Python菜鸟入门:day07条件循环
- AI风向标:发改委重大工程项目公布,首个无人车路测试点落户亦庄
- 书单 | 职场办公类私藏好书,轻松Get职场必备技能
- 无法添加外键约束的原因(cannot add foreign key constraint)
- 一些非常简单的Python代码
- 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
- windows10 给指定扩展名扩展名添加右键菜单
- 苹果xr如何关机_苹果新系统让这些 iPhone 电量满血复活
- Anaconda安装中failed to create menus
- 【HTMLCSS】CSS当中设置背景图片不显示的问题
- 新型Linux恶意软件隐藏在无效日期中、黑客通过微软漏洞监视目标电脑|11月26日全球网络安全热点
- ublox ubx协议 c语言,Ublox-M8N GPS接收机UBX协议解析
- 常见的五大数据分析模型
热门文章
- HBuilder开发App教程06-首页
- 打开showModalDialog模式窗体并提交,且不打开新的IE窗口
- wireshark抓rtsp rtp rtcp包手把手教你分析包结构 H264 H265
- CSharp中的集合与字典:不同数据量的内存占用情况
- docker 网络模式研究了许久,其实我们需要的是docker run -p 80:80命令
- axure如何页面滑动时广告位上移_Axure实现滚动广告效果
- 1024 发福利,送你一份珍藏依旧的 Java,大数据礼包,确定不收藏 ?拒绝白嫖 !
- k-选取问题之快速选取策略quickSelection
- 量子侦探社之“寻猫记”
- 常用的140个Win XP设置技巧