[PHP] 从PHP 5.6.x 移植到 PHP 7.0.x新特性

从PHP 5.6.x 移植到 PHP 7.0.x 新特性:

1.标量类型声明

         字符串(string), 整数 (int), 浮点数 (float), 布尔值 (bool),callable,array,self,Class/interface name

2.返回值类型声明

         定义参数类型和返回值类型

         function test(int $a):int{}

         如果不按规定传参会返回异常

3.null合并运算符

         null合并运算符 (??) ,等同于三元运算符

         $name=$_GET['name'] ?? "test";echo $name;

4.太空船操作符(组合比较符)

         当$a小于、等于或大于$b时它分别返回-1、0或1。

         $a <=> $b

5.通过 define() 定义常量数组

         define('ANIMALS', ['dog','cat','bird']);

6.匿名类

         某个函数参数强制类型,使用匿名类完成

         interface Logger {

             public function log(string $msg);

         }

         function test(Logger $logger){

                 echo $logger->log('aaa');

         }

         test(new Class implements Logger {

             public function log(string $msg) {

                 return $msg;

             }

         });

7.Unicode codepoint 转译语法

         完整的Unicode字符叫codepoint,Unicode为每种语言中的每个字符设定了统一并且唯一的二进制编码

8.为unserialize()提供过滤,提供更安全的方式解包不可靠的数据,通过白名单的方式来防止潜在的代码注入

9.预期,assert — 检查一个断言是否为 FALSE

10.Group use declarations

         从同一 namespace 导入的类、函数和常量现在可以通过单个 use 语句 一次性导入了

11.生成器可以返回表达式

12.Generator delegation

13.整数除法函数 intdiv()

14.会话选项

         session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置

15.CSPRNG Functions

         random_bytes() 和 random_int() 用来产生高安全级别的随机字符串和随机整数

16.可以使用 list() 函数来展开实现了 ArrayAccess 接口的对象

17.其他特性

原文地址:https://www.cnblogs.com/taoshihan/p/8336745.html