PHP类名无法识别;FN“;更新后的名称

PHP类名无法识别;FN“;更新后的名称,php,Php,PHP版本7.4.6 更新后无法识别“FN”名称。 它给出了以下错误 $_FN = new FN(); 分析错误:语法错误,意外的'FN'(T_FN),第4行的D:\System\Xampp\htdocs\Engine\ClsFunction.php中应包含标识符(T_字符串) 这是关于如何在PHP7.4中编写箭头函数的 以前,应该编写如下匿名函数: $foo = some_function_needing_a_callback(function($bar) { return $bar

PHP版本7.4.6 更新后无法识别“FN”名称。 它给出了以下错误

$_FN = new FN();
分析错误:语法错误,意外的'FN'(T_FN),第4行的D:\System\Xampp\htdocs\Engine\ClsFunction.php中应包含标识符(T_字符串)


这是关于如何在PHP7.4中编写箭头函数的

以前,应该编写如下匿名函数:

$foo = some_function_needing_a_callback(function($bar)
{
    return $bar->Something;
}, $bars);
从PHP 7.4开始,可以通过以下方式联机:

$foo = some_function_needing_a_callback(fn($bar) => $bar->Something, $bars);

正如您所注意到的,arrow函数用于调用函数。这使得类的
FN
名称无效

在将我的PHP服务器升级到7.4.13之后,我发现我也开始出现异常“Parse error:syntax error,unexpected'FN'(T_FN),预期标识符(T_STRING)…”,但是我在名称空间上下文中使用FN

我相信“Fn”现在是一个保留关键字,因为在我将名称空间更改为“Fnc”后,错误消失了

我花了几天时间寻找答案,认为问题在于名称空间之前的初始退格,然后才偶然发现这篇文章,并意识到问题在于实际的“Fn”名称空间本身

$foo = some_function_needing_a_callback(fn($bar) => $bar->Something, $bars);