📅  最后修改于: 2023-12-03 15:06:10.174000             🧑  作者: Mango
随着 PHP 8.1 的发布,一个新的特性——“一流的可调用语法”(First-class callable syntax)——也随之而来。这个特性可以让函数成为一等公民,这意味着函数可以像其他变量一样被处理。这个特性使得 PHP 更加强大和灵活,可编写的代码也更加简洁清晰了。
在 PHP 8.1 以前,我们通常会使用 call_user_func()
函数来调用一个函数,例如:
function foo($bar) {
echo $bar;
}
call_user_func('foo', 'Hello, world!');
但是现在,我们可以直接使用函数名来调用它:
function foo($bar) {
echo $bar;
}
$func = 'foo';
$func('Hello, world!');
这使得我们在编写抽象代码时更加方便,例如:
function doSomething(callable $func) {
$func('Hello, world!');
}
doSomething('foo');
要使用一流的可调用语法,只需要按照以下步骤操作:
function foo($bar) {
echo $bar;
}
$func = 'foo';
$func('Hello, world!');
class MyClass {
public function foo($bar) {
echo $bar;
}
}
$instance = new MyClass();
$func = [$instance, 'foo'];
$func('Hello, world!');
$func = function($bar) {
echo $bar;
};
$func('Hello, world!');
一流的可调用语法是一个强大的 PHP 8.1 特性,它使得编写代码变得更加灵活和简洁。要使用一流的可调用语法,只需按照定义函数、赋值变量、使用变量调用函数的步骤即可。这个新特性的引入将进一步提高 PHP 的发展和应用价值。