Introduction : Depuis ses humbles débuts en tant que projet personnel au milieu des années 1990, PHP est devenu l'un des langages de développement Web les plus populaires, alimentant tout, des petits blogs aux applications de grande entreprise.
PHP Ce langage a connu des changements itératifs étonnants au cours des 30 dernières années. Au cours des 10 dernières années, PHP a évolué d'une manière que nous n'aurions pas pu imaginer.
Chaque nouvelle année, j'écrirai un article sur la situation actuelle de PHP, en regardant en arrière et en regardant vers l'avenir. Commençons maintenant !
PHP Foundation
Dans le passé, je commençais généralement par un résumé de la dernière version de PHP. Cependant, cette fois, je souhaite d'abord me concentrer sur PHP Foundation.
Cela fait plus d'un an que la Fondation PHP a été créée. Elle est composée d'une équipe de 10 bénévoles plus 6 développeurs, rémunérés par la Fondation PHP, pour travailler au développement du langage PHP.
L'année dernière, j'ai écrit ceci :
Maintenant que Nikita (un développeur du noyau) est parti, je suis un peu inquiet. Mais il n'est certainement pas le seul à pouvoir travailler sur le cœur de PHP, il a beaucoup travaillé sur PHP 8.0 et 8.1 ces dernières années.
J'espère que la Fondation PHP pourra bientôt rattraper son retard et disposer de suffisamment de développeurs principaux libres pour travailler sur PHP l'année prochaine.
PHP 8.2 est déjà en développement, même si peu de RFC ont encore été rédigées.
Je n’aurais pas tort de penser que 2022 ne sera pas l’année la plus excitante pour PHP, mais plutôt une année de stabilité accrue.
Je pense qu'il est juste de dire que la Fondation PHP est désormais opérationnelle. Ils ont récemment publié leur rapport 2022, qui montre un ensemble de chiffres assez impressionnants :
580 000 $ collectés en 2022
La fondation paiera 6 développeurs pour travailler sur le noyau PHP
Les membres de la Fondation ont réalisé près de la moitié des les commits dans php-src
Ils ont créé 8 nouvelles RFC, dont une seule a échoué
Je pense que la Fondation PHP est le meilleur endroit pour que le processus de développement PHP se déroule. Une des choses. J'espère qu'ils amélioreront encore la langue en 2023. Si vous travaillez pour une entreprise qui utilise PHP, je vous recommande fortement d'envisager d'en faire don.
PHP 8.2
Parlons de l'utilisation de PHP 8.2. Elle est souvent considérée comme une version plus petite par les développeurs, mais elle possède en réalité de nombreuses fonctionnalités intéressantes.
Voici quelques exemples :
Classe ReadOnly (ReadOnly) :
readonly class PostData { public function __construct( public string $title, public string $author, public string $body, public DateTimeImmutable $createdAt, public PostState $state, ) {} }
Nouveau générateur aléatoire :
$rng = $is_production ? new Random\Engine\Secure() : new Random\Engine\Mt19937(1234); $randomizer = new Random\Randomizer($rng); $randomizer->shuffleString('foobar');
Vrai et faux indépendant de null :
function alwaysFalse(): false { return false; }
Forme normale disjonctive tapez :
function generateSlug((HasTitle&HasId)|null $post) { /* … */ } 编辑参数: function connect( string $user, #[\SensitiveParameter] string $password ) { // … }
Bien sûr, il y en a d'autres qui méritent d'être explorés.
Considérant à quel point PHP s'est développé au fil des ans. J'ai fait quelques comparaisons et les différences sont clairement indiquées ci-dessous :
Ecosystem
Comme chaque année, je dois mentionner Packagist, c'est un gestionnaire de packages pour PHP, cette année il répertorie 361 000 packages, 60 000 de plus que la dernière année :
Le nombre le plus impressionnant est le nombre total d'installations. J'avais évoqué ce montant l'année dernière :
Et bien d'ailleurs, Packagist a récemment passé le cap du traitement de plus de 50 milliards d'installations. Félicitations Packagiste !
Je viens de vérifier et le nombre d'installations actuel de Packagist est de 74 492 061 634 fois. Cela représente 24 milliards d'installations par an et 2 milliards d'installations mensuelles. Pour résumer : l’écosystème PHP se développe rapidement.
Deux fois par an, je publie des statistiques de versions. Dans ces articles, j'analyse l'utilisation de la version PHP au sein de la communauté sur la base des données de Packagist.
Je voulais partager à nouveau le graphique de cet article : une chronologie de 2013 à aujourd'hui, montrant l'historique d'utilisation de chaque version.
Bien qu'il soit formidable de constater la forte augmentation de l'utilisation de PHP 8.*, un grand nombre de personnes sont toujours bloquées sur des versions PHP anciennes, lentes et non sécurisées. Mon espoir pour 2023 est de voir les numéros de ces anciennes versions chuter plus rapidement que cela. Voici ce que j'ai écrit dans le message de statistiques de version ci-dessus :
Ces données visualisent magnifiquement la division au sein de la communauté PHP : une partie suit le rythme du PHP moderne, tandis que l'autre partie est impuissante à la traîne.
En matière de mise à niveau, je tiens à mentionner un outil en particulier : Rector.
Rector est un outil d'automatisation gratuit qui vous permet de mettre à niveau votre base de code PHP. Tout ce qu'il nécessite, c'est un peu de configuration et il fait une grande partie du travail à votre place.
Je l'ai récemment utilisé pour mettre à jour mon agrégateur de contenu communautaire Aggregate vers PHP 8.2 et c'était vraiment amusant et facile à utiliser.
Après avoir publié mon article sur les statistiques de version, quelques personnes m'ont dit qu'elles n'avaient pas encore mis à jour et qu'elles étaient bloquées sur PHP 7.*, et je leur ai demandé pourquoi ? Ils m'ont dit que c'était tout simplement trop de travail manuel. Fait intéressant, personne n'a même essayé d'utiliser des outils comme Rector pour les aider...
Je crois fermement qu'un "langage de programmation" est plus qu'un simple compilateur : ce sont les outils et l'écosystème qui jouent un rôle égal dans la définition d'un " langage de programmation", je pense vraiment que beaucoup de personnes, de projets et d'entreprises bénéficieraient s'ils envisageaient d'utiliser un outil d'automatisation comme Rector.
Puisque je parle d’écosystème, je ne peux m’empêcher de mentionner les deux plus gros frameworks pour PHP : Laravel et Symfony.
Laravel a énormément grandi au cours des dernières années. Ils emploient désormais 8 développeurs à temps plein pour développer le framework et son écosystème. En plus de cela, l'enquête de développement de JetBrains rapporte que 67 % des développeurs PHP utilisent Laravel.
Bien que Symfony soit peut-être moins populaire en tant que framework aujourd'hui par rapport à Laravel, il reste l'un des frameworks les plus matures et les plus stables de la communauté PHP. Il est plus couramment utilisé pour le développement d'applications d'entreprise, mais ses composants autonomes sont populaires dans tout l'écosystème PHP - Laravel a également certaines dépendances sur les composants Symfony, il n'est donc pas surprenant que de nombreux packages Symfony figurent sur la liste des meilleurs packages de Packagist. Pas de surprise.
Je devrais également mentionner WordPress. Pour être honnête, j’ai une relation amour-haine avec WordPress. En tant qu'utilisateur, WordPress est génial. C'est si simple à installer et à utiliser, et je pense qu'il a gagné chaque once de popularité au fil des ans. Cependant, en tant que développeur, WordPress me rend triste. L’incapacité à suivre les versions modernes et sécurisées de PHP jette un voile sur l’ensemble de la communauté PHP.
Actuellement, WordPress ne fournit qu'un support bêta pour PHP 8.0. Maintenant, pour être clair : PHP 8.0 est sorti en 2020 et a atteint sa fin de vie 3 ans plus tard - et WordPress ne le prend pas encore en charge...
Bien sûr, il y a des raisons pour lesquelles les versions plus récentes de PHP ne sont pas correctement prises en charge, Il appartient à l'utilisateur de décider si ces informations sont correctes. Mon opinion personnelle est que la décision d’insister sur la rétrocompatibilité comme WordPress est principalement motivée par les affaires : une grande partie de WordPress est la partie commerciale, et une grande partie de leur clientèle utilise des versions PHP plus anciennes. C'est un cercle vicieux, dans lequel les deux côtés se gênent mutuellement et, dans une certaine mesure, entravent le développement de l'ensemble de la communauté PHP.
D’un autre côté, nous devons être conscients du fait qu’après presque 20 ans, peu de projets logiciels sont aussi populaires et pertinents que WordPress, alors peut-être que leur stratégie en matière de rétrocompatibilité est correcte ?
Super Épisode
Enfin, je ne peux m'empêcher de mentionner mon rêve à long terme pour PHP.
Je l'écris maintenant, et j'espère qu'il deviendra un jour une réalité : un sur-ensemble de PHP, avec un support approprié pour l'IDE et l'analyseur statique.
Il y a de nombreuses raisons pour lesquelles je veux que cela se produise. Vous pouvez les lire et les écouter si vous le souhaitez, mais j'espère vraiment que cela deviendra une réalité. Il faudra un certain temps avant de voir un surensemble largement accepté et soutenu en 2023, mais quelques petites étapes ont déjà commencé. Je garderai certainement un œil sur PXP, cela poussera les choses dans une meilleure direction.
Pour résumer, je sens que tous les développeurs vont adorer 2023 ! Une dernière remarque, juste au cas où vous seriez nouveau ici, je m'appelle Brent, un développeur évangéliste chez JetBrains.
Remarque : L'adresse originale en anglais est : https://stitcher.io/blog/php-in-2023