从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。

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.其他特性

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180125G000K700?refer=cp_1026

扫码关注云+社区