在抱怨一遍又一遍地写关键字function
的动荡不安的任务后,我向某人询问了一个更简单的方法。该人说PHP将具有类似于es6的箭头函数语法。
const foo = (x, y) => {
return x + y;
};
在我继续研究这个问题时,我无法在网上找到很多例子。
有合适口径的人可以解释一下吗?
此时,我也非常感兴趣这将如何适应PHP的OOP方面。
答案 0 :(得分:23)
这似乎是https://wiki.php.net/rfc/arrow_functions中描述的语法。它有一个实验性的实现。
在箭头功能提案中,提到它可以替代“短暂关闭”提案,https://wiki.php.net/rfc/short_closures
截至2018年2月,当前版本的PHP为7.1.4 / 7.2.2。
我找不到任何一项提案获得批准的确认。前者处于“讨论中”状态,后者是“拒绝/撤回支持http://wiki.php.net/rfc/arrow_functions”。我想现在知道它是否会在未来的PHP版本中被采用还为时尚早。
答案 1 :(得分:4)
是的。新的RFC已被PHP 7.4 https://wiki.php.net/rfc/arrow_functions_v2
接受答案 2 :(得分:0)
基于RFC的 PHP 7.4 代码看起来像
$users->map(
fn($user) => $user->first_name.' '.$user->last_name
);
代替
$users->map(function($user) {
return $user->first_name.' '.$user->last_name;
});