PSR l’évolution indispensable de PHP

Logo PHP

Calqué sur l’exemple de Java et de la JSR, le groupe php-fig tente de créer une normalisation du langage afin de permettre l’interopérabilité entre les différents frameworks et futures librairies.

Pour ce faire, php-fig crée des documents de normalisation appelés PSR. La PSR 4 vient, au moment ou j’écris ces lignes, d’être validée et la PSR 5 est en cours de discussions.

On peut distinguer deux types de PSR :

Les types basés sur la syntaxe du code, comprennent la PSR 0, 1, 2 et les types basés sur  la normalisation d’objets couramment utilisés qui concerne le reste des PSR. Ces dernières fournissent des « interfaces » qui vous permettront de savoir quelles fonctions doivent inclure votre objet afin d’être interopérables. 

Chaque PSR est complémentaire l’une par rapport à l’autre. La PSR 0 nous dit comment nommer ses objets et comment en définir le namespace. La PSR 1 traite de la manière dont doivent être rédigés vos objets. La PSR 2 traite de la syntaxe des différentes fonctions de PHP du type « if », « foreach », « switch », etc. La PSR 3 parle des objets de type « logger ». La PSR 4 traite des objets de type « autoloader ». La PSR 5 devrait permettre de normaliser les objets de type « message ». Et pour finir des prémisses de la PSR 6 on fait une apparition et pourrait traiter des objets de type « cache ». 

Les bienfaits d’une telle normalisation sont nombreux

Les exemples historiques l’ont maintes fois démontré. C’est grâce à la normalisation qu’aujourd’hui nous pouvons réduire les coûts de fabrication de nos différents véhicules, ordinateurs et autres appareils de la vie courante. Le plus grand bienfait de ces dernières années dans le monde du web fut la mise en conformité des différents navigateurs web aux standards du langage HTML et CSS. Réalisé par le W3C, cette dernière a permis de réduire les coûts de fabrication d’un site internet de manière drastique et permis l’émergence de librairies open source, de style sheets prédéfinies du type twitter bootstarp ou flat ui. Seul certains navigateurs dinosaures, à l’heure actuelle, plombent  encore les coûts de production des sites internet lorsque la compatibilité en est requise.

Dans un monde où l’on parle aujourd’hui d’industrialisation de la fabrication des sites web, ces PSR sont un bienfait nécessaire pour accélérer et améliorer nos développements au quotidien. Les développeurs ont besoin de bornes et de normes pour rendre réutilisables chacun de leurs scripts et de pouvoir changer de librairie selon les besoins spécifiques propres à chaque client.

La PSR va permettre de professionnaliser le langage PHP qui était à l’origine destiné aux amateurs ce qui laisse à penser que la maturité de ce langage est de plus en plus proche. Pour suivre les différentes évolutions du travail de standardisation du php-fig en direct ça se passe ici  ou sur le site officiel du php-fig