« PHP is dead ». Tu as surement vu cette phrase dans des forums, groupes Facebook, ou images. Beaucoup prédisent la mort de PHP. Alors faut t il apprendre le PHP, l’utiliser et prendre le risque d’être le seul développeur web PHP du monde ?!
D’après le site W3techs, 78,9% des sites sont développés avec PHP. C’est à dire que près de 8 sites sur 10 utilisent ce langage. Alors le PHP est -il vraiment mort ? Dans cet article, je vais essayer de t’expliquer pourquoi les gens pensent que PHP est mort. Et te montrer que OUI, tu peux apprendre PHP est l’utiliser 😊
Un vieux monsieur
La première version de PHP est sortie en 1994 (quand je commençais à peine à voir le jour). A ces débuts, le PHP, n’était pas vraiment un langage de programmation. C’était plutôt un outil de rendu, utilisé dans les pages HTML pour les dynamiser.
D’ailleurs, aujourd’hui encore, il peut être utilisé de cette manière. C’est-à-dire, intégrer des bouts de code PHP dans du HTML :
<p>Bonjour, je m’appelle < ?php echo $prenom ; ?> et j’ai < ?php echo $age ?> ans</p>
Ce n’est qu’à la sortie de PHP 5 en 2004, que PHP est devenu un langage de programmation beaucoup plus poussé et qui permettait de faire des choses plus évoluées et plus solides. Et ainsi de pouvoir avoir du code plus propre et plus maintenable.
En 2015, PHP livre une nouvelle version de son langage : la version 7.
La 6 n’existe pas ?
Le développement de la version 6 à était un fiasco et ne s’est pas passée comme prévue. Les développeurs ont donc abandonné cette version et ont directement livré la version 7.
Dans cette version 7, énormément de nouvelles fonctionnalités et surtout des performances accrues. Pour certains framework ou CMS, l’utilisation de PHP 7 à carrément doubler la vitesse d’exécution. Tu peux retrouver le benchmark réalisé par kinsta pour te faire une idée.
De ce fait, PHP a su évoluer correctement à travers le temps et surtout s’adapter à la demande. Parti de loin (avec un langage qui n’en était pas un), il a su faire faire face à des besoins en évolution et améliorer ces points faibles.
Une belle évolution de PHP
Grâce à son évolution PHP a su se positionner comme un langage fiable et robuste. D’ailleurs, il est utilisé aujourd’hui par la majorité des sites internet. De ce fait PHP a aussi apporté son lot de nouvelles fonctionnalités et de performances bien plus élevés.
On voit notamment l’effort fait de la part des développeurs PHP pour avoir du code propre. Les fonctions sont désormais typées, autant pour les paramètres attendus que pour le type de retour.
On a aussi vu apparaître le gestionnaire de dépendances Composer, qui permets d’intégrer des bibliothèques externes qu’un projet à besoin et de façon très propre.
Avec l’arrivée du web socket, il est possible d’avoir des requêtes encore plus légères et d’afficher des données en temps réelles grâce à un système de tunnel bidirectionnel (client/serveur, serveur/client). En revanche web socket a une architecture de bas niveau. Mais il y a quelques temps, avec l’arrivée de mercure, il est beaucoup plus facile d’exploiter ce système de temps réel. En effet mercure est un protocole de haut niveau qui est beaucoup plus facilement (et proprement) intégrable dans ton code.
De plus, il existe de nombreux framework PHP très puissant. On peut citer notamment Symfony (que j’utilise), Laravel, ou cakePHP. Ces frameworks permettent une structure du code propre et robuste et offrent de très nombreuses fonctionnalités aux développeurs (modèle MVC qui permet de structurer son code, interagir sur des évènements, gérer la sécurité de son application, …).
Grâce à leurs structures tous ces framework permettent ainsi une bonne maintenabilité du code. Permettant ainsi de facilement faire évoluer le code.
De plus derrière ces frameworks, il y a des énormes communautés qui travaillent toujours pour avoir des nouvelles fonctionnalités encore plus poussées et plus performantes. De par leurs historiques, il existe énormément de documentation sur internet.
L’asynchrone n’est plus un problème
De par son modèle, PHP interprète les lignes de code les unes à la suite des autres. Lorsqu’un traitement demande beaucoup de ressources, il bloque ainsi les traitements suivants. Il faut donc attendre la fin de ce premier traitement avant de passer à la suite.
Ce modèle posait problème : A L’EPOQUE. Mais plus maintenant ! Grâce à un système de « queue », il est possible d’envoyer les requêtes lourdes à un système indépendant pour qu’elles soient exécutées plus tard.
Ce qui permets ainsi de déléguer les traitements qui prenne du temps et continuer immédiatement les traitements suivants.
On peut prendre l’exemple de la génération d’un PDF. On peut ainsi imaginer un formulaire à remplir qui, lorsqu’on le soumet, va générer un PDF avec pleins d’autres informations. La génération d’un PDF peut prendre du temps et est couteux en ressources. Avant, il aurait fallu attendre la fin de la génération du PDF pour pouvoir continuer d’utiliser l’application. Maintenant il est possible d’envoyer ce traitement à un système de queue indépendant qui va traiter la demande et rendre la main à l’utilisateur directement.
Ainsi on peut indiquer à l’utilisateur que son PDF est en cours de génération. Il peut dont faire autre chose en suivant.
Un typage faible
Malgré de belles évolutions le PHP reste un langage de typage faible. C’est-à-dire qu’il n’est pas obligatoire de définir un type de variable.
Comme dis précédemment, la version 7 de PHP a ajouté la possibilité de typer les paramètres attendus dans les fonctions et le type de retour mais rien n’oblige les développeurs à le faire. De plus, les variables déclarées dans le code ne sont pas typées.
Du fait que les variables ne soient pas typées, il est possible de définir une variable, lui attribuer une chaine de caractère et la remplacer par un entier par la suite. Ce qui peut entraîner des problèmes lors de comparaison de variable (dans des if par exemple). Il est aussi possible d’utiliser plusieurs fonctions natives de PHP pour obtenir un même résultat. Ce qui peut donc porter à confusion pour les débutants. J’avais notamment fait un « tuto » pour expliquer comment vérifier si l’index d’un tableau existait. Dans ce tutoriel, j’avais mis 3 façons différentes de faire cette vérification. Tu peux le retrouver en cliquant ici.
Et de ce fait, il est aussi probable qu’il faille faire plusieurs vérifications sur une variable pour être sûr de passer dans une condition.
Le PHP est donc critiqué pour cet aspect. Les perfectionnistes du code auront donc du mal à accrocher avec ce langage. Pour les autres, PHP reste un langage robuste et facile à apprendre.
Le futur de PHP ?
« On arrête PHP, c’est naze, maintenant on fait du Node JS mon pote, il n’y a plus besoin d’apprendre le PHP ».
Depuis quelques années, Javascript a une popularité en hausse et se développe très rapidement. Ainsi, beaucoup de développeurs s’y intéressent et annonce la mort de PHP au détriment du Node JS.
Mais l’essor du JS est assez jeune et tous les frameworks ne sont pas encore aboutis. Certes ils permettent de faire énormément des choses mais leurs apprentissages est souvent complexe et leur historique ne permets pas d’annoncer qu’ils tiendront dans le temps. Au contraire de PHP qui est justement un vieux langage et qui a fait ses preuves tout au long des années. Les frameworks PHP sont désormais ultra complets et très sécurisés.
De plus, de grosses communautés poussent PHP et tous les frameworks PHP. Symfony vient notamment de sortir une version 5 avec des nombreuses fonctionnalités supplémentaires. De plus, vu que 80% des sites sont réalisés avec ce langage, les développeurs PHP sont encore très demandés sur le marché du travail afin de faire évoluer les systèmes existants.
PHP a donc encore de beaux jours devant lui.
Cependant, il faut aussi comprendre que les langages utilisés ne sont que des outils et nous ne sommes pas là pour prendre part pour l’un et critiquer tous les autres. Il faut prendre le bon outil pour le bon développement. Ainsi si tu dois réaliser un site très graphique, avec de belles animations et qui ne demande aucune ressources serveurs, bien entendu, tu utiliseras le JS.
Une bonne alternative
De plus, une bonne alternative peut être de combiner plusieurs langages entre eux pour que chacun réalise la partie dans laquelle il est le plus efficace. Ainsi, il peut être possible de réaliser une partie backend avec PHP. On peut imaginer, une API réalisée avec API Platform en PHP et une partie frontend avec VueJS. Ainsi l’utilisateur aura une meilleure ergonomie, une page plus dynamique et il sera possible d’utiliser toute la puissance d’API Platform et PHP pour le coté back.
Ainsi, je ne souhaite pas rentrer dans le débat JS ou PHP car pour moi ce sont des outils qui ont chacun leurs avantages et inconvénients. Chacun doit choisir celui qui lui correspond et qui lui plait le plus. Pour ma part, je développe énormément en PHP sous Symfony mais reste ouvert à l’apprentissage de framework JS tel que VueJS ou encore de nouvelles technos si j’en ai besoin.
Alors faut t-il encore apprendre le PHP ?
Pour ma part, je pense que PHP a encore de beaux jours devant lui et est un langage robuste qui a su s’adapter aux besoins des développeurs. De plus, avec son énorme communauté et ses frameworks, il est possible de développer de belles choses très rapidement et de manière simple.
Son apprentissage, bien que pas toujours très propre, est simple et rapide. Il est donc possible de débuter facilement avec PHP, même en intégrant des bouts de code PHP dans du HTML au début, pour passer sur une meilleure structure du code par la suite.
Par la suite, il pourra être combiné avec d’autres langages, tels que le Javascript pour réaliser des pages un peu plus sympas et dynamique.
La demande de développeurs web PHP sur le marché du travail est encore extrêmement élevée et il n’est pas difficile de trouver un emploi avec de bonnes compétences en PHP. Ainsi, si ton but est de trouver un emploi ou une mission, n’hésite pas à te lancer dans son apprentissage.
Alors OUI, il faut encore apprendre le PHP !
Et toi, par quel langage de programmation as tu débuté ?
Un article pas daté pour bien perdre le monde
Sinon merci beaucoup pour le contenu et les avis