php7.4主要的新特性
可变数量的参数列表
function funA(...$args)
支持在前面加类型声明 :function funA(int ...$args)
php7.4支持扩展到数组的操作$arr = [...$args];
也可以使用生成器来实现:
function test() {
for ($i = 3; $i <= 5; $i++) {
yield $i;
}
}
var_dump([1,2,...test()]);
php7.4支持箭头函数
$a = [1, 2, 3, 4, 5];
$b = array_map(fn($n) => $n * $n, $a);
var_dump($b);
php7.4之前的写法
function cube($n) {
return ($n * $n);
}
$a = [1, 2, 3, 4, 5];
$b = array_map('cube', $a);
var_dump($b);
PHP 7.4 中,父级作用域的值是通过隐式捕获的。
$factor = 10;
$calc = fn($num) => $num * $factor;
var_dump(call_user_func($calc,2));
更改了连接运算符的优先级
echo "sum: " . $a + $b;
php7.4之前是
echo ("sum: " . $a) + $b;
php7.4是
echo "sum: " . ($a + $b);
预加载
<?php
// 加载所需的文件
require_once '/path/to/file1.php';
require_once '/path/to/file2.php';
require_once '/path/to/file3.php';
// 将文件添加到 opcache 预加载缓存中
opcache_compile_file('/path/to/file1.php');
opcache_compile_file('/path/to/file2.php');
opcache_compile_file('/path/to/file3.php');
完成预加载脚本的编写之后,将其保存为 preload.php 文件,并在 php.ini 配置文件中添加以下行:
opcache.preload=/path/to/preload.php
保存并重启 PHP-FPM 进程,即可开始使用 PHP 7.4 预加载功能,在 PHP-FPM 进程启动时自动加载 PHP 文件。