<?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框架里就是这么用的。。
<?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框架里就是这么用的。。
4 回答2.3k 阅读
4 回答1.9k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
4 回答1.7k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
这里的
static
是php面向对象的延迟绑定功能。上面代码中,B继承了A。执行一下看看结果:
关于延迟绑定相关内容,可以参考官方文档 Late Static Bindings。