PHP ? C’est un langage ça ?

Au cours des dernières années, PHP n’a pas acquis une très bonne réputation et a toujours été critiqué et mal vu. Certains sont même allés jusqu’à ne pas le considérer comme un langage de programmation.
Nous avons tous été témoin, quand vous entendez le mot « PHP », la première chose qui vous vient à l’esprit est un code foiré où tout est mélangé, jetez un œil au code suivant:

Dans un seul fichier, vous pouvez voir la gestion des sessions, les balises HTML, le formatage CSS et la plupart du temps, il inclura également des requêtes SQL et la gestion du système de fichiers. Cela peut être appelé tout sauf un code décent, c’est un cauchemar dans le monde du Web!
Le plus triste, cependant, c’est que les gens ont tendance à généraliser cela et à blâmer PHP au lieu des développeurs.


PHP est devenu célèbre en raison de son faible niveau d’entrée, tout nouveau développeur trouvera facile de commencer à coder en raison des commentaires rapides qu’ils reçoivent et de la grande communauté qui l’entoure, également parce que PHP n’a pas de grandes exigences qu’un développeur ne peut pas avoir, vous mettez n’importe quelle pile *AMP et vous êtes prêt à partir (LAMP, MAMP, WAMP respectivement pour Linux, MacOS et Windows). Et ce type de code que nous venons de voir a tendance à être la première étape d’un nouvel apprenant PHP.

Le 1er mars 2012, un gestionnaire de dépendances PHP inspiré de NPM a vu le jour publiquement sous le nom de «Composer», développé par Nils Adermann et Jordi Boggiano.
Avant l’apparition de Composer, chaque développeur PHP avait un ensemble de fichiers et de bibliothèques à inclure dans chaque projet, d’une certaine manière, il gérait les dépendances et les packages manuellement et c’était un chaos total, très peu ou pas de versioning, dépréciation, redondance…


Mais avec Composer, beaucoup de choses ont changé, vous pouvez maintenant définir vos besoins exacts avec des plages de versions (très importantes dans un environnement basé sur SemVer) et assurez-vous de réinstaller les mêmes versions à chaque fois, Composer gère tous les tracas pour vous et charge automatiquement toutes les bibliothèques, tout ce dont vous avez besoin est d’inclure un seul fichier et vous êtes prêt à partir.
Dans cet esprit, PHP devient un langage bien établi avec une énorme communauté autour de lui et un ensemble très strict de normes appelées PSR.

Les développeurs ne sont pas invités à s’en tenir strictement aux PSR, et cela en raison de l’effort que cela peut prendre et pour éviter d’introduire des modifications de rupture dans le code actuel. Mais il est recommandé que les nouvelles versions et projets suivent le nombre maximum de règles, car il peut être un peu difficile de les appliquer tous, cela dépend du projet, des développeurs, de l’équipe,…


Certains PSR sont si simples qu’ils peuvent même être automatisés, comme c’est le cas pour PSR-1 et PSR-2 décrivant comment le code doit être écrit, ces normes peuvent être vérifiées à l’aide de PHPCS (PHP Code Sniffer) et les erreurs peuvent même être corrigées automatiquement, et il est bien intégré dans la plupart des IDE aujourd’hui.


D’autres sont un peu avancés et peuvent être difficiles à assimiler, et sont plus orientés vers les créateurs de framework que vers les développeurs, en prenant l’exemple du PSR-11, décrivant une interface très simple avec seulement deux méthodes pour créer un conteneur. Mais avant de plonger dans cela, vous aurez besoin d’avoir une expérience SOLIDE (sans jeu de mots) et une compréhension approfondie des concepts et des meilleures pratiques de POO, tels que l’injection de dépendance et l’inversion de contrôle, etc. (les principes de conception SOLIDE sont un bon point de départ pour ça, même si c’est un peu opiniâtre).


Ainsi, aujourd’hui, les frameworks PHP sont pour la plupart unis grâce à FIG et à l’ensemble de la communauté. Il devient de plus en plus organisé et continue de croître rapidement. Et juste pour la comparaison, je vous laisse avec le « bon » exemple de code PHP suivant:

Originellement paru sur
https://blog.spark-it.fr

Jean-Marc Amon

Jean-Marc est un développeur, Administrateur Système Linux et DevOps. Quand Il n'est pas sur un ordinateur, vous pouvez le trouver en train de lire, écrire ou profiter du soleil et de la mer. Son pseudo Twitter est @AmonMarc, et vous pouvez le trouver sur github.com/jebog

Abonnez-vous à ce blog

Rejoignez les 1 871 autres abonnés

Articles récents