这段代码在5.6中导致PHP致命错误,但在7.0及更高版本中正常工作。 Scenario: I should be welcomed when I sign in
Given I am registered
When I sign in
Then I should be welcomed
没有记录的更改,我发现它可以将数组作为常量使用。
isset
有没有人知道任何文件说明这是一个真正的变化?将数组作为常量使用<?php
class Test
{
const A = [1];
}
echo isset(Test::A[0]);
是否安全?
PHP 5.6.30错误:
致命错误:不能对表达式的结果使用isset()(您可以使用&#34; null!== expression&#34;而不是)
答案 0 :(得分:2)
isset()
是一种语言结构,而不是一种功能,所以也许这段(来自http://php.net/manual/en/migration70.incompatible.php)适用:
PHP 7现在在解析源文件时使用抽象语法树。这个 允许对以前的语言进行许多改进 不可能由于早期版本中使用的解析器的限制 PHP,但已导致删除一些特殊情况 一致性原因,导致向后兼容性 符。