Blogger Information
Blog 14
fans 0
comment 0
visits 12051
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP7常用新特性介绍
alber1986的博客
Original
812 people have browsed it

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) { ... } 这样的代码,或者通过注册异常处理函数( 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新特性视频教程:https://www.sucaihuo.com/video/167.html

大家也可以看看。

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post