为什么我可以在php7中使用字符串文字作为类?
请考虑以下代码:
class foo { static $bar = 'baz'; } var_dump('foo'::$bar); 它在PHP5中抛出一个错误(如预期的那样):
但它在PHP7和输出中没有问题: string(3) "baz" 这是故意还是错误? 解决方法
我认为这是因为他们改写了有关评估的内容.
喜欢以下在PHP5中不可能但在PHP 7中: echo (new X)->toString(); 同样的意思 echo ('X')::$bar 见Changes to the handling of indirect variables,properties,and methods 这主要是关于从左到右的评估,但它也影响评估. 更多信息可以在PHP RFC: Uniform Variable Syntax找到(状态:已实施) – 感谢Nikic:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |