La nouvelle version de PHP sera officiellement publiée le 3 décembre. En plus d'un grand nombre de corrections de bugs et de petites améliorations, les développeurs du monde entier bénéficieront également de nouvelles fonctionnalités intéressantes. La liste n'est pas encore terminée, mais nous pouvons jeter un œil aux nouvelles fonctionnalités que nous attendons avec impatience. Je vais vous préparer une série de courts articles qui se concentreront sur chacun d’eux, alors commençons !
Dans le premier article, je vous présente le Levage de propriété constructeur. PHP8 introduira un concept célèbre dans des langages comme Hack, Korlin ou TypesScript. Comment ça marche et dans quelles situations peut-on l’utiliser ? Regardons l'exemple suivant :
Objet numérique assez simple, n'est-ce pas ? Nous traitons de ce type presque tous les jours. Chaque fois que nous devons transmettre une valeur d'un paramètre de constructeur à une propriété de la classe, nous devons écrire l'intégralité du bloc de code du modèle comme le montre la figure, ce qui est en effet un peu ennuyeux. La fonction de promotion des attributs du constructeur résoudra ce problème pour nous et pourra rendre l'écriture de code similaire plus courte et plus simple. Voyons comment l'utiliser :
Nous pouvons simplement ajouter un modificateur d'accès avant la déclaration de type du paramètre constructeur, puis le paramètre sera automatiquement affecté à l'attribut Class du même nom. On peut comprendre que dans le constructeur, les paramètres avec des modificateurs d'accès seront promus et deviendront des attributs de classe du même nom.
Vous pouvez mélanger les promotions immobilières avec les déclarations de propriété régulières. Comme le montre l'exemple suivant :
L'exemple de code ci-dessus est équivalent au code de l'exemple suivant :
La promotion de l'attribut constructeur (Constructor Property Promotion) ne peut être utilisée que dans les classes normales et les traits
classes de référence. Elle ne peut pas être utilisée dans les interfaces et les classes abstraites (bien que nous puissions déclarer des constructeurs dans ces classes).
Si votre code utilise beaucoup d'objets de valeur (VO) ou de objets de transfert de données (DTO) , la promotion de la propriété du constructeur simplifiera et raccourcira considérablement votre code. Des demandes de fonctionnalités similaires ont été discutées à plusieurs reprises, mais seule l'implémentation écrite par Nikita Popov a reçu suffisamment de critiques favorables pour qu'elle soit fusionnée dans la nouvelle version de PHP. Vous pouvez en savoir plus à ce sujet dans cette RFC.
Dans la prochaine partie de la série "Inside PHP8", nous discuterons de l'implémentation des types d'union. Restez à l'écoute!
Cet article a été initialement publié sur notre blog. Vous pouvez cliquer ici pour voir.
Adresse originale : https://dev.to/avantar/pe-into-php8-pa...
Adresse de traduction : https://learnku. com/laravel/t/47600
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!