<?php
ini_set('display_errors',true);
error_reporting(E_ALL);
class A{
const HEHE="hello";
function show(){
echo static::HEHE;
}
}
$a=new A();
$a->show();
正常输出 hello,没有报错
php版本为5.5.9
之所以发现这个,是因为Zend框架里就是这么用的。。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这里的
static是php面向对象的延迟绑定功能。上面代码中,B继承了A。执行一下看看结果:
关于延迟绑定相关内容,可以参考官方文档 Late Static Bindings。
可能是因为只读吧