1.类型的声明
可以使用字符串(string), 整数 (int), 浮点数 (float), 以及布尔值 (bool)来声明函数的参数类型与函数返回值。
function test2(int $a,int $b){
return $a + $b;
}
2.set_exception_handler() 不再保证收到的一定是 Exception 对象
在 PHP 7 中,很多致命错误以及可恢复的致命错误,都被转换为异常来处理了。 这些异常继承自 Error 类,此类实现了 Throwable 接口 (所有异常都实现了这个基础接口)。
PHP7进一步方便开发者处理, 让开发者对程序的掌控能力更强. 因为在默认情况下, Error会直接导致程序中断, 而PHP7则提供捕获并且处理的能力, 让程序继续执行下去, 为程序员提供更灵活的选择。
3.新增操作符“<=>”
function test2($a,$b){
$c = $a <=> $b; //如果a>b,返回1,a==b返回0,a<b返回-1
return $c;
}
4.新增操作符“??”
如果变量存在且值不为NULL, 它就会返回自身的值,否则返回它的第二个操作数。
function getName(){
//原写法
$name = $this->request->input('name') ? $this->request->input('name') : 'no_name';
//php7写法
$name = $this->request->input('name') ?? 'no_name';
return $name;
}
5.define() 定义常量数组
define('NUM',[1,2,3]);
6.Unserialize 提供过滤特性
防止非法数据进行代码注入,提供了更安全的反序列化数据。
7.命名空间引用优化
PHP7以前语法的写法
use Controller\Class\ClassA;
use Controller\Class\ClassB;
// PHP7新语法写法
use Controller\Class\{ ClassA, ClassB};