J'aurais une vision plus mitigée en prenant en compte la notion de compatibilité ascendante qui reste quand même assez importante sur PHP.
Il reste possible dans les dernières versions de créer des scripts très réduits de la même manière qu'on pouvait le faire avec PHP 3. La plupart des scripts écrits de cette manière restent d'ailleurs totalement fonctionnels sans changement malgré leur âge.
Quand par contre on cherche à faire une application complexe, robuste, et ce, sans réinventer la roue en permanence, alors oui les apports des dernières versions sont particulièrement appréciables.
Les namespaces par exemple (les \ que tu mentionnes), ont émergé par besoin et ont été longtemps implémentés par des bidouillages peu lisibles par chaque bibliothèque (class MyVendor_MyLib_MyPackage_MySomething_EventuallyMyClass). Mais ils restent totalement optionnels si le développeur ne souhaite pas les utiliser... à condition qu'il ne dépende pas de packages Composer évidemment.
[^] # Re: re: La version 8.1 de PHP et création de la fondation PHP
Posté par Nanawel (site web personnel, Mastodon) . En réponse à la dépêche La version 8.1 de PHP et création de la fondation PHP. Évalué à 7. Dernière modification le 03 décembre 2021 à 13:23.
J'aurais une vision plus mitigée en prenant en compte la notion de compatibilité ascendante qui reste quand même assez importante sur PHP.
Il reste possible dans les dernières versions de créer des scripts très réduits de la même manière qu'on pouvait le faire avec PHP 3. La plupart des scripts écrits de cette manière restent d'ailleurs totalement fonctionnels sans changement malgré leur âge.
Quand par contre on cherche à faire une application complexe, robuste, et ce, sans réinventer la roue en permanence, alors oui les apports des dernières versions sont particulièrement appréciables.
Les namespaces par exemple (les
\que tu mentionnes), ont émergé par besoin et ont été longtemps implémentés par des bidouillages peu lisibles par chaque bibliothèque (class MyVendor_MyLib_MyPackage_MySomething_EventuallyMyClass). Mais ils restent totalement optionnels si le développeur ne souhaite pas les utiliser... à condition qu'il ne dépende pas de packages Composer évidemment.