Après m'être plaint de la tâche tumultueuse d'écrire le mot-clé function
encore et encore, j'ai demandé à quelqu'un un moyen plus simple. La personne a dit que PHP va avoir une syntaxe de fonction de flèche similaire à es6.
const foo = (x, y) => {
return x + y;
};
Alors que je continuais à examiner cette question, je n'ai pas pu trouver de nombreux exemples en ligne.
Quelqu'un du bon calibre peut-il expliquer cela?
À ce stade, je suis également très intéressé par la façon dont cela pourrait s'intégrer dans l'aspect OOP de PHP.
Cela semble être la syntaxe décrite dans https://wiki.php.net/rfc/arrow_functions . Il a une implémentation expérimentale.
Dans la proposition de fonctions fléchées, il est mentionné que c'est une alternative à la proposition de "fermetures courtes", https://wiki.php.net/rfc/short_closures
Depuis février 2018, les versions actuelles de PHP sont 7.1.4/7.2.2.
Je ne trouve aucune confirmation que l'une ou l'autre proposition a été approuvée. Le premier est à l'état "En cours de discussion", le second est "Refusé/Retiré en faveur de http://wiki.php.net/rfc/arrow_functions ". Je pense qu'il est trop tôt pour savoir s'il sera adopté dans une future version de PHP.
Oui. Le nouveau RFC a été accepté pour PHP 7.4 https://wiki.php.net/rfc/arrow_functions_v2
Basé sur RFC pour PHP 7.4 le code pourrait ressembler
$users->map(
fn($user) => $user->first_name.' '.$user->last_name
);
au lieu de
$users->map(function($user) {
return $user->first_name.' '.$user->last_name;
});