
PHP : Historique des versions
Facebook, CNBC, NASA, Wikipédia, Business Insider, Harvard University... ce ne sont que quelques exemples de sites web construits sur PHP – le langage de programmation le plus populaire utilisé par 82 % des sites web. Un développement continu et une vaste communauté font de PHP le choix, par exemple, des start-ups qui considèrent PHP comme la solution idéale, ainsi que de grandes entreprises et institutions dans le monde entier. Dans le texte ci-dessous, je décris comment tout a commencé et comment les versions successives ont évolué au fil des ans.
L'auteur de la première version de PHP est Rasmus Lerdorf. Il a été créé en 1994 comme un ensemble de scripts Perl dans le but de surveiller les utilisateurs d'Internet visitant le site et consultant le CV de Lerdorf. Il s'est vite avéré qu'un trafic trop important nécessitait une réponse du programmeur, donc dans les travaux ultérieurs, il a utilisé le langage C et ajouté de nouvelles options. L'intérêt s'est intensifié et les gens ont demandé la possibilité d'utiliser ces outils à leurs propres fins, ce qui a abouti à la publication de Personal Home Page Tools en 1995. Rasmus Lerdorf, cependant, n'a pas ralenti le rythme – il a ajouté le service mSQL à PHP et l'a combiné avec le Form Interpreter. Ainsi, PHP/FI a vu le jour, et en 1997, sa version 2.0, qui comptait déjà plusieurs milliers d'utilisateurs et supportait environ 50 mille domaines, a été publiée. Depuis lors, PHP/FI a commencé à se développer de manière dynamique.
PHP 3
En 1997, Zeev Suraski et Andi Gutmans, des programmeurs israéliens, ont décidé de poursuivre les travaux sur le langage PHP. Ils ont constaté que PHP/FI ne répondait pas suffisamment bien aux exigences de l'application eCommerce qu'ils développaient à l'époque. Ils ont donc décidé de réécrire le code à partir de zéro, ont développé une nouvelle architecture et ont annoncé la nouvelle version en 1998.
Dans PHP 3, les bases de la programmation orientée objet sont apparues, mais la caractéristique la plus distinctive était sa modularité, c'est-à-dire la possibilité d'enrichir les fonctionnalités de PHP en ajoutant de nouveaux modules par les utilisateurs.
En outre, PHP 3 a commencé à supporter diverses bases de données : mSQL, MySQL, PostgreSQL. Selon de nombreux programmeurs, les éléments intégrés étaient beaucoup plus faciles à gérer que d'essayer de créer des fichiers HTML et CGI séparés. Tout cela a rendu les performances globales des sites web beaucoup plus optimisées et la gestion de grands sites est devenue plus efficace car les composants du site ont été rassemblés dans un seul fichier HTML.
PHP 4
Cependant, la modularité susmentionnée et la question de l'efficacité continuaient de préoccuper Suraski et Gutmans. Poussés par le désir d'une amélioration continue, ils ont entrepris d'autres travaux sur le code source.
Ainsi, en 1999, le Zend Engine a été officiellement publié – un moteur de script qui est devenu la base du développement de PHP 4 qui a été lancé un an plus tard.
Au cours des quatre années suivantes, trois éditions supplémentaires ont été publiées : 4.1, 4.2, 4.3, et chacune d'entre elles se caractérisait par une sécurité et une vitesse d'opération améliorées.
En parlant de PHP 4, il est indéniable de souligner le Zend Engine précité. Ce moteur de script open-source qui interprète le langage de programmation PHP est écrit en C comme un back-end modulaire optimisé. Il est important de noter ici le fait que pour la première fois, il pouvait être utilisé dans des applications en dehors de PHP. Le moteur gère la mémoire et les ressources, et sa performance et son extensibilité ont eu un impact direct sur le développement des versions ultérieures de PHP.
PHP 5
En parlant de la version 5, on devrait dire : "quid pro quo". Le nouveau modèle de programmation orientée objet qui a été développé a coûté une partie de la compatibilité avec les versions antérieures de PHP. Bien sûr, ce n'est pas exactement un inconvénient de PHP 5, car les modules ont été modifiés, y compris ceux utilisés pour gérer XML et communiquer avec la base de données.
D'autres changements significatifs ont été : l'implémentation des fonctions XML dans le noyau de l'application, la réécriture complète de l'extension MySQL – l'un des programmes de base de données les plus simples, gratuits et open-source, dont les performances combinées avec PHP 4 n'étaient pas excellentes, et dans PHP 5 l'extension MySQL a été optimisée pour être compatible avec MySQL 5.0. Il y avait aussi la fonction __autoload (), qui a été conçue pour accélérer le temps de codage et augmenter les performances du site web. Le fonctionnement de PHP dans le système Windows a également été amélioré.
En 2009, PHP 5.3 a été publié, mais déjà en 2005, il y avait des informations que les travaux sur la nouvelle version avaient commencé.
PHP 6
Unicode. Le mot-clé quand on parle de la version 6. L'objectif était de supprimer les solutions obsolètes, datant des temps de PHP/FI et PHP3, afin de remédier aux problèmes persistants de compatibilité. Ces changements étaient liés à la mise en œuvre des améliorations du modèle objet dans le langage Unicode.
Les créateurs voulaient ajouter un support Unicode natif à PHP. Cependant, le problème auquel ils ont fait face était le manque de programmeurs qui voyaient la nécessité de ces changements, ainsi que les problèmes de performance dans le contexte même de la conversion UTF-16.
Finalement, en 2010, le projet dans sa forme actuelle a été officiellement abandonné et la version PHP 5.4 a été préparée sans tenir compte des fonctions Unicode de PHP 6.
La version 6 jamais publiée est considérée comme un échec. Il n'est donc pas surprenant que l'initiative de créer la suivante ait été prise.
PHP 7
L'année 2014 est considérée comme le début officiel des travaux sur PHP 7. La base de la version était une branche expérimentale – PHPNG (PHP Next Generation), qui a été conçue pour optimiser les performances.
Les développeurs ont travaillé très dur pour refactoriser le code afin de réduire la consommation de mémoire et d'augmenter les performances. Ils ont assurément atteint leur objectif. Les benchmarks pour PHP 7 montrent deux fois la vitesse de PHP 5.6 et 50 % de consommation de mémoire moindre. C'est le succès incontestable de cette version.
Réduire la consommation de mémoire permet une meilleure gestion des requêtes, ainsi que la possibilité de construire des micro-services basés sur PHP. Les changements internes créent également des opportunités pour des optimisations futures qui peuvent encore améliorer les performances. À ce stade, il vaut la peine de souligner le compilateur JIT, qui en retour apparaîtra dans toute sa splendeur dans le PHP le plus récent.
Il est à noter que le numéro de version 7 a amélioré la lisibilité du code en introduisant l'opérateur vaisseau. C'est une combinaison de trois balises utilisées dans sa construction, et selon laquelle est vraie, il renvoie une valeur différente. Un autre opérateur à examiner de plus près est l'opérateur de fusion nulle (??), qui améliore également la lisibilité et rend le code plus court. L'opérateur vérifie qu'une valeur NULL existe et retourne le côté gauche de l'opérateur si ce n'est pas le cas, et le côté droit si tel est le cas.
Et enfin, la question des erreurs critiques. Dans les versions précédentes, les gérer était un cauchemar pour les programmeurs. En effet, si une telle erreur se produisait, au lieu de déclencher la procédure de gestion des erreurs, le script se bloquait alors – un écran blanc apparaissait. PHP 7 vous permet de supprimer l'exception lorsqu'une erreur se produit, mais il ne bloque plus tout le script. Bien sûr, cela permet également d'améliorer la lisibilité du code. ParseError, TypeError, ArithmeticErrors et AssertionError – ces erreurs ont été regroupées dans la section Error afin qu'elles génèrent désormais des erreurs dans PHP 7 et étaient auparavant critiques.
PHP 8
Le lancement de la dernière version aura lieu le 26 novembre 2020. Il vaut la peine de lire ce qui est nouveau dans PHP 8, mais vous pouvez certainement pointer le compilateur JIT, qui deviendra bientôt une partie native du langage.
Résumé
En plus de la programmation, la large gamme de services de développement PHP comprend également un grand nombre de bibliothèques créées et supportées par la communauté, ainsi que des frameworks populaires : Drupal, Symfony ou Laravel, sur lesquels des projets avancés peuvent être développés. À notre agence Drupal, nous sommes convaincus que PHP continuera à se développer, et pendant de nombreuses années encore, il sera à la pointe des langages utilisés pour construire des sites web.