Avec près de 79% d’utilisationSelon un rapport de la W3Techs.
Bien que PHP ne se rapproche généralement pas du podium dans les listes plus générales de popularité des langages, il jouit d’une très grande popularité dans sa zone cible, le Web. En témoigne une nouvelle enquête de W3Techs sur les serveurs Web, qui a indiqué que le langage était utilisé sur près de 79 % des 10 millions de sites les plus populaires selon le baromètre Alexa.
L’organisme a publié un rapport qui comprend un graphique d’une année sur l’autre à partir de janvier 2010, jusqu’en 2021. Il en ressort que PHP est utilisé par 78,9 % des sites Web et se positionne loin devant ASP.NET (8,3 %) et Ruby (5,2 %). Java quant à lui est passé en quatrième position et tourne désormais sur 3,6 % de ces sites. Le langage est passé en quatrième position depuis janvier 2021 ; il était alors utilisé par 3,2 % de sites contre 4,3 % pour Ruby.
Parmi le « menu fretin », la seule croissance vraiment impressionnante à observer est celle de Ruby, qui, à 5,2 % ce mois-ci, continue de connaître une croissance ininterrompue dans l’enquête de W3Techs. Ruby on Rails est relativement stable pour ce qui concerne le nombre d’adoptions, selon l’édition de septembre de l’index TIOBE.
Notons qu’ASP.NET, qui détenait une part impressionnante de 24,4 % en 2010 (contre 72,5 % pour PHP à l’époque) a vu ses parts être progressivement réduites au profit d’autres langages comme JavaScript (1,5 % le 14 septembre 2021), Scala (2 %) ou encore Python (1,4 %). En 2013, le langage était passé en dessous de la barre des 20 % et c’est en janvier 2021 qu’il est passé en dessous de la barre des 10 %.
Il ne semble pas non plus qu’il y ait un concurrent clair pour PHP dans les résultats de W3Techs, le déclin inexorable d’ASP.NET au fil des ans n’a pas produit une augmentation significative de PHP ou de tout autre langage.
Concernant les versions de PHP utilisées, la version 7 reste la plus populaire ; plus de la moitié des sites PHP (67,9 %) s’en servent. PHP 5 vient en seconde position avec 31 % d’utilisation, suivi par PHP 8 et ses 1 %.
PHP 8 est disponible depuis fin 2020. Cette version contient donc beaucoup de nouvelles fonctionnalités et d’optimisations, incluant les arguments nommés, les types d’union, attributs, promotion de propriétés de constructeur, l’expression match, l’opérateur nullsafe, JIT (Compilation à la Volée), et des améliorations dans le système de typage, la gestion d’erreur, et de cohérence.
Au lieu de faire des vérifications conditionnelles de nul, vous pouvez utiliser une chaîne d’appel avec le nouvel opérateur nullsafe. Qui lorsque l’évaluation d’un élément de la chaîne échoue, l’exécution de la chaîne complète est terminée et la chaîne entière évaluée à null.
Ainsi, dans PHP 7 vous aviez
Code PHP : |
$country = null; if ($session !== null) { $user = $session->user; if ($user !== null) { $address = $user->getAddress(); if ($address !== null) { $country = $address->country; } } }
Dans PHP 8 vous avez son équivalent :
Code PHP : |
$country = $session?->user?->getAddress()?->country;
La nouvelle instruction match est similaire à switch et a les fonctionnalités suivantes :
Ainsi, dans PHP 7 vous aviez :
Code PHP : |
switch (8.0) { case '8.0': $result = "Oh no!"; break; case 8.0: $result = "This is what I expected"; break; } echo $result; //> Oh no!
Et son équivalent en PHP 8 :
Code PHP : |
echo match (8.0) { '8.0' => "Oh no!", 8.0 => "This is what I expected", }; //> This is what I expected
Mais PHP n’a pas fait parler de lui qu’en positif. En mars, un pirate informatique a compromis le serveur utilisé pour distribuer le langage de programmation PHP et a ajouté une porte dérobée au code source qui aurait rendu les sites Web vulnérables à une prise de contrôle complète, selon des membres du projet open source. Deux mises à jour transmises au serveur PHP Git au cours d’un week-end ont ajouté une ligne qui, si elle était exécutée par un site Web alimenté par cette version détournée de PHP, aurait permis aux visiteurs sans autorisation d’exécuter le code de leur choix. Les commits malveillants ont donné au code la capacité d’injection de code aux visiteurs qui avaient le mot « zerodium » dans un en-tête HTTP.
Zerodium est un courtier qui achète des exploits aux chercheurs et les vend à des agences gouvernementales pour une utilisation dans des enquêtes ou à d’autres fins. La raison pour laquelle les commits ont référencé Zerodium n’est pas claire. Le PDG de la société, Chaouki Bekrar, a déclaré sur Twitter que Zerodium n’était pas impliqué :
« Bravo au troll qui a mis ‘Zerodium’ dans les commits PHP git compromis d’aujourd’hui », a-t-il écrit. « De toute évidence, nous n’avons rien à voir avec cela. Probablement, le ou les chercheurs qui ont trouvé ce bogue / exploit ont essayé de le vendre à de nombreuses entités, mais aucun ne voulait acheter cette merde, alors ils l’ont brûlé pour le plaisir ».
Avant la compromission, le groupe PHP gérait tous les accès en écriture au référentiel sur son propre serveur git http://git.php.net/ en utilisant ce que Nikita Popov, un mainteneur PHP, appelait un système « maison » appelé Karma. Il a fourni aux développeurs différents niveaux de privilèges d’accès en fonction des contributions précédentes. GitHub, quant à lui, avait été un référentiel miroir.
Désormais, le groupe PHP abandonne l’infrastructure git autohébergée et gérée et la remplace par GitHub. Le changement signifie que GitHub est désormais le référentiel « canonique ». Le groupe PHP n’utilisera plus le système Karma. Au lieu de cela, les contributeurs devront faire partie de l’organisation PHP sur GitHub et utiliser l’authentification à deux facteurs pour les comptes avec la possibilité de faire des commits.