由于PHP 7的改进比较大,也保持了很好的向前兼容性,但是有些语法还是被废弃了,不过,废弃的一些语法,感觉废弃也就废弃吧,留着看了也不舒服。接下来分享几个PHP5和PHP7的语法上的一些不支持的情况。
1)PHP 5 嵌套if语句可以使用continue,代码如下
if ($b == 2) {
if ($a == 1) {
continue;
} else {
echo "hello";
}
}
在PHP 7里,这种语法已经不支持。PHP 7会报错:'PHP Fatal error: 'continue' not in the 'loop' or 'switch' context 。
2) PHP 支持引用一个new的对象,代码如下:
class CTest{
}
$test =& new CTest();
在PHP 7里,这种语法已经不支持。PHP 7会报错:syntax error, unexpected 'new'
3) PHP 7不支持Here Document,PHP5支持
function testParseException() {
$generator = new CTest();
$input = <<<FOO
BEGIN:FOO
FOO:Bar
END:FOO
FOO;
}
在PHP 7里,这种语法已经不支持。PHP 7会报错:PHP Parse error: syntax error, unexpected ':'
4) 有些单词在PHP里作为关键字了,即使现在不用PHP7也不建议再使用了,以防给将来升级带来麻烦。例如:True、Object、Null、Float等等。如果使用这些关键字定义类之类的类型,会报错:Cannot use 'Null' as class name as it is reserved。
以后,遇到会继续补充......