Révisez et attendez avec impatience le développement de PHP en 2023 !
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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

Quelles sont les méthodes magiques de PHP? Les méthodes magiques de PHP incluent: 1. \ _ \ _ Construct, utilisé pour initialiser les objets; 2. \ _ \ _ Destruct, utilisé pour nettoyer les ressources; 3. \ _ \ _ Appel, gérer les appels de méthode inexistants; 4. \ _ \ _ GET, Implémentez l'accès à l'attribut dynamique; 5. \ _ \ _ SET, Implémentez les paramètres d'attribut dynamique. Ces méthodes sont automatiquement appelées dans certaines situations, améliorant la flexibilité et l'efficacité du code.