本篇文章给大家分享的是有关PHP7常用新特性是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
1.PHP 标量类型与返回值类型声明
PHP 7 增加了标量类型声明的特性,标量类型声明有两种模式:
强制模式 默认)
严格模式
2.PHP NULL 合并运算符
PHP 7 新增加的 NULL 合并运算符(??)是用于执行isset)检测的三元运算的快捷方式。
NULL 合并运算符会判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。
例如: $a ? $a : 0; 改为 $a ?? 0;
3.PHP 太空船运算符(组合比较符)
PHP 7 新增加的太空船运算符(组合比较符)用于比较两个表达式 $a 和 $b,如果 $a 小于、等于或大于 $b时,它分别返回-1、0或1。
例如:
print 1 <=> 1);printPHP_EOL); 结果 0 print 1 <=> 2);printPHP_EOL); 结果 -1 print 2 <=> 1);printPHP_EOL); 结果 1 printPHP_EOL); // PHP_EOL 为换行符
4.PHP 常量数组
在 PHP 5.6 中仅能通过 const 定义常量数组,PHP 7 可以通过 define) 来定义。
例如:define'sites', ['Google','Runoob','Taobao']);
5.匿名类
PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。
6.PHP 过滤 unserialize)
PHP 7 增加了可以为 unserialize) 提供过滤的特性,可以防止非法数据进行代码注入,提供了更安全的反序列化数据。
7.PHP 7 use 语句
PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量;
8.PHP 7 错误处理
PHP 7 改变了大多数错误的报告方式。不同于 PHP 5 的传统错误报告机制,现在大多数错误被作为 Error 异常抛出。
这种 Error 异常可以像普通异常一样被 try / catch 块所捕获。如果没有匹配的 try / catch 块,
则调用异常处理函数(由 set_exception_handler) 注册)进行处理。
如果尚未注册异常处理函数,则按照传统方式处理:被报告为一个致命错误(Fatal Error)。
Error 类并不是从 Exception 类 扩展出来的,所以用 catch Exception $e) { … }
这样的代码是捕获不 到 Error 的。你可以用 catch Error $e) { … } 这样的
PHP源码
,或者通过注册异常处理函数(
set_exception_handler))来捕获 Error。
9.PHP 7 Session 选项
PHP 7 session_start) 函数可以接收一个数组作为参数,可以覆盖 php.ini 中 session 的配置项。
这个特性也引入了一个新的 php.ini 设置(session.lazy_write), 默认情况下设置为 true,意味着 session 数据只在发生变化时才写入。
除了常规的会话配置指示项, 还可以在此数组中包含 read_and_close 选项。如果将此选项的值设置为 TRUE, 那么会话文件会在读取完毕之后马上关闭, 因此,可以在会话数据没有变动的时候,避免不必要的文件锁。
10.PHP 7 移除的扩展
PHP 7+ 版本移除了以下扩展:ereg,mssql,mysql,sybase_ct。