PHP Static延迟静态绑定用法分析
作者:allen0228 时间:2024-06-05 15:42:42
本文实例讲述了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,Static,延迟静态绑定
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python创建7种不同的文件格式的方法总结
2021-01-24 03:13:51
![](https://img.aspxhome.com/file/2023/2/120942_0s.png)
整合ckeditor+ckfinder,解决上传文件路径问题
2022-12-10 09:25:39
使用Python和GDAL给图片加坐标系的实现思路(坐标投影转换)
2021-11-10 03:15:31
![](https://img.aspxhome.com/file/2023/9/111949_0s.png)
如何用idea数据库编写快递e站
2024-01-23 08:43:56
![](https://img.aspxhome.com/file/2023/7/89597_0s.png)
Python imread、newaxis用法详解
2021-10-09 15:44:08
利用Python上传日志并监控告警的方法详解
2022-08-23 15:31:01
![](https://img.aspxhome.com/file/2023/7/69477_0s.png)
Python项目打包成二进制的方法
2023-11-07 05:22:02
pycharm运行和调试不显示结果的解决方法
2023-11-04 21:09:46
![](https://img.aspxhome.com/file/2023/9/71339_0s.jpg)
Pycharm安装第三方库的超详细步骤
2023-06-08 14:35:07
![](https://img.aspxhome.com/file/2023/3/121653_0s.png)
用Python可视化新冠疫情数据
2021-10-14 06:06:39
![](https://img.aspxhome.com/file/2023/6/76906_0s.jpg)
python列表生成器常用迭代器示例详解
2023-11-16 01:35:12
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2021-12-14 00:54:08
一文让你彻底搞懂Python中__str__和__repr__
2021-10-30 20:09:56
SQL的substring_index()用法实例(MySQL字符串截取)
2024-01-27 19:30:19
简述MySQL 正则表达式
2024-01-16 12:17:44
![](https://img.aspxhome.com/file/2023/3/78213_0s.png)
OpenCV+Python几何变换的实现示例
2022-02-09 14:44:52
![](https://img.aspxhome.com/file/2023/7/95747_0s.jpg)
用python实现超强的加密软件
2022-12-06 11:42:50
![](https://img.aspxhome.com/file/2023/6/133906_0s.jpg)
Python解析m3u8拼接下载mp4视频文件的示例代码
2022-04-22 13:20:16
![](https://img.aspxhome.com/file/2023/9/103179_0s.png)
Python+Turtle绘制一个可爱的生日蛋糕
2022-12-29 04:05:39
![](https://img.aspxhome.com/file/2023/0/115460_0s.png)
PHP addcslashes()函数讲解
2023-06-10 01:32:33
![](https://img.aspxhome.com/file/2023/9/55399_0s.png)