PHP7常用新特性是什么

本篇文章给大家分享的是有关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。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注