PHP 7.4新特性
2019-06-21 本文已影响0人
云边一片海
PHP 7.4可能会在2019年12月发布。
一、短闭包
<?php
// 7.3之前
array_map(function (User $user) {
return $user->id;
}, $users)
// 现在
array_map(fn(User $user) => $user->id, $users)
二、NULL合并赋值运算符
<?php
// 7.3之前
$arr['a'] = $arr['a'] ?? 'a';
$b = $b ?? 'b';
// 现在
$arr['a'] ??= 'a';
$b ??= 'b';
三、属性类型定义
<?php
class A
{
public string $name;
public Foo $foo;
protected ClassName $classType;
private ?ClassName $nullableClassType;
// Types are also legal on static properties
public static iterable $staticProp;
}
四、预加载
预加载功能是指在服务启动时,未运行任何应用程序代码之前,将一组PHP文件加载到内存中,甚至可以对框架进行预加载,以提高性能。如果对预加载代码进行修改,需要重启服务。
五、mb_str_split
添加字符串切割函数mb_str_split ( string $string [, int $split_length = 1, string $encoding = mb_internal_encoding() ] ) : array
<?php
print_r(mb_str_split("PHP是世界上最好的语言", 3));
// Array
// (
// [0] => PHP
// [1] => 是世界
// [2] => 上最好
// [3] => 的语言
// )
// 也可以指定编码
print_r(mb_str_split("PHP是世界上最好的语言", 3, "GB2312"));
六、Hash默认开启
从PHP7.4开始Hash是PHP核心扩展,无法禁用,因此它始终可用,类似于date,spl和pcre扩展。
七、外部函数接口
这一块在我这使用的不多,所以没有深入了解。