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);print(PHP_EOL); 结果 0
print( 1 <=> 2);print(PHP_EOL); 结果 -1
print( 2 <=> 1);print(PHP_EOL); 结果 1
print(PHP_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。

以上就是PHP7常用新特性是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。


网页名称:PHP7常用新特性是什么
分享链接:http://abwzjs.com/article/psjgjp.html