PHP 版本 7.4.6 更新后无法识别">FN"名称。 它给出以下错误
$_FN = new FN();
解析错误:语法错误,意外的"FN"(T_FN(,第 4 行的 D:\System\Xampp\htdocs\Engine\ClsFunction.php 中的预期标识符 (T_STRING
(
class FN {
function DPS(){
return "TEST";
}
}
$_FN = new FN();
Echo $_FN->DPS();
这是关于如何在 PHP 7.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);
如您所见,箭头函数用于调用函数fn()
。这使得FN
名称对类无效
将我的 PHP 服务器升级到 7.4.13 后,我发现我也开始收到异常"解析错误:语法错误、意外的'Fn'(T_FN(,期望标识符 (T_STRING(...",但是我在命名空间上下文中使用 Fn。
我相信"Fn"现在是一个保留关键字,因为在我将命名空间更改为"Fnc"后错误消失了。
我花了几天时间寻找答案,认为问题出在命名空间之前的初始退格键上,然后我偶然发现了这篇文章并意识到问题出在实际的"Fn"命名空间名称本身上。