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扩展。

七、外部函数接口

这一块在我这使用的不多,所以没有深入了解。

上一篇 下一篇

猜你喜欢

热点阅读