Une fois par an, je passe en revue les derniers développements dans le monde PHP et j'attends avec impatience ce qui nous attend. Tout comme 2020 et 2019, nous revoilà !
Comme je le dis à maintes reprises : PHP n'est plus le même langage qu'il y a dix ans, et nous en sommes très reconnaissants. Il s'agit d'un langage rapide et fiable pour créer de grandes applications à grande échelle. Discutons donc de certains des changements les plus notables apportés au langage et à la communauté PHP au cours de l'année écoulée.
PHP 8 et supérieur
La nouvelle version majeure PHP 8 a été lancée à la fin de l'année dernière. J'ai beaucoup écrit sur ce sujet, je ne vais pas tout copier/coller ici. Comme toujours, les performances ne font que s'améliorer, comme le montrent les benchmarks réalisés par Kinsta.
Il existe également un JIT qui peut vraiment améliorer les performances de certains projets, et si vous n'utilisez pas d'hébergement mutualisé, le préchargement peut avoir un impact positif sur l'ensemble du projet.
Je pense que des fonctionnalités telles que les propriétés (également appelées "annotations"), les paramètres nommés et les propriétés promues méritent également d'être mentionnées, car elles ont certainement contribué à faire de PHP 8 une version si géniale.
Pendant ce temps, l'équipe principale développe déjà une nouvelle version de PHP 8.1, qui sortira d'ici fin 2021. Actuellement, les fonctions les plus importantes sont les énumérations et les fibres, que je mentionnerai à nouveau plus tard dans cet article. postal.
Année après année, l'équipe principale apporte avec succès une nouvelle version stable à la communauté avec de nombreuses fonctionnalités et améliorations de la qualité de vie. Le chemin de mise à niveau n’est plus si difficile non plus. J'ai mis à niveau certains de mes projets de PHP 7.4 vers PHP 8 et cela n'a pris qu'environ une heure par projet. Il n’y a vraiment aucune raison de rester en retrait !
Système de types de PHP
Il y a en fait des nouvelles très intéressantes concernant les types : les énumérations seront ajoutées dans PHP 8.1. En plus de cela, nous avons également vu certains responsables d'outils d'analyse statique contribuer au code source de PHP en décrochant le premier RFC. Cela ajoute le type never, qui est utile pour l'analyse statique.
En parlant d'outils d'analyse statique, PhpStorm a ajouté la prise en charge intégrée de Psalm et PhpStan, une étape importante vers une adaptation plus large.
Malheureusement, il n'existe toujours pas de soutien pour les médicaments génériques. Il existe des obstacles majeurs, d'autant plus que nous avons toujours affaire à des langages typés dynamiquement. Nikita décrit ces problèmes ici. Personnellement, mon approche serait la plus simple : prendre en charge uniquement les génériques effacés à l'exécution et s'appuyer sur une analyse statique. Cela nécessite non seulement une solution technique, mais également un changement de mentalité au sein de l’ensemble de la communauté PHP. Peut-être qu’un jour, cela deviendra une option viable, mais ce n’est pas encore le cas.
PHP asynchrone
Grande nouvelle ces derniers temps : PHP obtient des coroutines, alias. Fils verts — En PHP 8.1 ! Cependant, la fibre (également connue sous le nom de fibre) ne change peut-être pas la donne autant que vous le pensez.
Même si la fibre optique elle-même n'est peut-être qu'un petit rouage dans un ordinateur asynchrone plus grand, la RFC a une fois de plus attiré l'attention sur la communauté asynchrone, et nous ne pouvons qu'en être heureux. Les frameworks asynchrones tels que Amphp et ReactPHP deviennent de plus en plus populaires, et récemment Laravel a annoncé la prise en charge intégrée de Swoole.
Communauté
Je ne peux m'empêcher de mentionner le gestionnaire de paquets standard de facto Composer. Il a sorti une nouvelle version majeure en octobre 2020 : Composer 2.0. Cette version présente quelques améliorations UX, mais surtout, elle permet d'obtenir d'énormes améliorations de performances, étant parfois trois fois plus rapides, même sur une nouvelle installation.
En parlant de compositeurs, j'aime évaluer l'état actuel de l'écosystème PHP en regardant les packages disponibles au fil du temps. L'année dernière, j'ai parlé de 25 millions de téléchargements par jour, et aujourd'hui, ce nombre a plus que doublé et nous en sommes à 60 millions de téléchargements par jour.
Enfin, jetez un œil à ce graphique répertoriant le nombre de packages et de versions au fil du temps. On peut également le trouver sur leur site Internet. Vous pouvez clairement voir un écosystème sain se développer et il n’y a pas de fin en vue.
Langage
Enfin, revenons sur tout ce qui a été ajouté à PHP ces dernières années. Si vous ne l'avez pas suivi, vous voulez vraiment consulter cette liste. Je pense que cela montre la croissance de la communauté et de l'équipe de développement principale au cours des dernières années, et je pense qu'il y a encore de la croissance à venir.
Énumérations
Fibres
Arguments nommés
Promotion de la propriété du constructeur
Fermetures courtes
Opérateur de fusion nul
Traits
Propriétés typées
Opérateur de spread
FFI
Déclarations de type retour
Générateurs
Tout ça pour dire Oui : PHP est bel et bien vivant. Chaque année, je me sens plus satisfait de l’orientation que prend la langue et j’espère l’utiliser pendant de nombreuses années encore !
Site Web chinois php traduit de : https://stitcher.io/blog/php-in-2021, merci à l'auteur original Brent !