Einführung: Von seinen bescheidenen Anfängen als persönliches Projekt Mitte der 1990er Jahre hat sich PHP zu einer der beliebtesten Webentwicklungssprachen entwickelt und unterstützt alles, von kleinen Blogs bis hin zu großen Unternehmensanwendungen.
PHP Diese Sprache hat in den letzten 30 Jahren erstaunliche iterative Veränderungen erfahren. In den letzten 10 Jahren hat sich PHP auf eine Weise verändert, die wir uns nicht hätten vorstellen können.
Jedes neue Jahr schreibe ich einen Artikel über die aktuelle Situation von PHP, blicke zurück und freue mich auf die Zukunft. Fangen wir jetzt an!
PHP Foundation
Früher habe ich meist mit einer Zusammenfassung der neuesten PHP-Version begonnen. Dieses Mal möchte ich mich jedoch zunächst auf PHP Foundation konzentrieren.
Es ist mehr als ein Jahr her, dass die PHP Foundation gegründet wurde. Sie besteht aus einem Team von 10 Freiwilligen und 6 Entwicklern, die von der PHP Foundation bezahlt werden und an der Entwicklung der PHP-Sprache arbeiten.
Letztes Jahr habe ich Folgendes geschrieben:
Jetzt, wo Nikita (ein Kernel-Entwickler) gegangen ist, mache ich mir ein wenig Sorgen. Aber er ist definitiv nicht der Einzige, der mit Kern-PHP arbeiten kann, er hat in den letzten Jahren viel an PHP 8.0 und 8.1 gearbeitet.
Ich hoffe, dass die PHP Foundation bald aufholen kann und im nächsten Jahr genügend Kernentwickler frei hat, um an PHP zu arbeiten.
PHP 8.2 befindet sich bereits in der Entwicklung, obwohl noch nicht viele RFCs entworfen wurden.
Ich liege nicht falsch, wenn ich annehme, dass 2022 nicht das aufregendste Jahr für PHP sein wird, sondern eher ein Jahr mit erhöhter Stabilität.
Ich denke, man kann mit Fug und Recht sagen, dass die PHP Foundation jetzt in Betrieb ist. Sie haben kürzlich ihren Bericht für 2022 veröffentlicht, der ziemlich beeindruckende Zahlen zeigt:
580.000 US-Dollar wurden im Jahr 2022 gesammelt
Die Stiftung wird 6 Entwickler für die Arbeit am PHP-Kern bezahlen
Stiftungsmitglieder haben fast die Hälfte davon abgeschlossen die Commits in php-src
Sie haben 8 neue RFCs erstellt, von denen nur einer erfolglos war
Ich denke, die PHP Foundation ist der beste Ort für den PHP-Entwicklungsprozess. Eines der Dinge. Ich hoffe, dass sie die Sprache im Jahr 2023 weiter verbessern. Wenn Sie für ein Unternehmen arbeiten, das PHP verwendet, empfehle ich Ihnen dringend, über eine Spende nachzudenken.
PHP 8.2
Lassen Sie uns über die Verwendung von PHP 8.2 sprechen. Es wird von Entwicklern oft als kleinere Version angesehen, verfügt aber tatsächlich über viele nette Funktionen.
Hier ein paar Beispiele:
ReadOnly-Klasse (ReadOnly):
readonly class PostData { public function __construct( public string $title, public string $author, public string $body, public DateTimeImmutable $createdAt, public PostState $state, ) {} }
Neuer Zufallsgenerator:
$rng = $is_production ? new Random\Engine\Secure() : new Random\Engine\Mt19937(1234); $randomizer = new Random\Randomizer($rng); $randomizer->shuffleString('foobar');
True und false unabhängig von null:
function alwaysFalse(): false { return false; }
Disjunktive Normalform Typ:
function generateSlug((HasTitle&HasId)|null $post) { /* … */ } 编辑参数: function connect( string $user, #[\SensitiveParameter] string $password ) { // … }
Natürlich gibt es noch mehr, die es wert sind, erkundet zu werden.
Wenn man bedenkt, wie verrückt PHP im Laufe der Jahre geworden ist. Ich habe einige Vergleiche angestellt und die Unterschiede werden unten deutlich dargestellt:
Ökosystem
Wie jedes Jahr sollte ich Packagist erwähnen, einen Paketmanager für PHP, der seit diesem Jahr 361.000 Pakete auflistet, 60.000 mehr als im letzten Jahr Jahr:
Die beeindruckendste Zahl ist die Gesamtzahl der Installationen. Ich habe diesen Betrag letztes Jahr erwähnt:
Übrigens hat Packagist kürzlich den Meilenstein der Verarbeitung von über 50 Milliarden Installationen überschritten. Herzlichen Glückwunsch Packagist!
Ich habe gerade nachgesehen und die aktuelle Installationsanzahl von Packagist beträgt 74.492.061.634 Mal. Das sind 24 Milliarden Installationen pro Jahr und 2 Milliarden monatliche Installationen. Zusammenfassend lässt sich sagen: Das PHP-Ökosystem wächst rasant.
Zweimal im Jahr veröffentliche ich Versionsstatistiken. In diesen Beiträgen analysiere ich die Nutzung der PHP-Version in der gesamten Community basierend auf Daten von Packagist.
Ich wollte das Diagramm aus diesem Beitrag noch einmal teilen: eine Zeitleiste von 2013 bis heute, die den Nutzungsverlauf jeder Version zeigt.
Obwohl es großartig ist, den starken Anstieg der Nutzung von PHP 8.* zu sehen, hängen viele Menschen immer noch an alten, langsamen und unsicheren PHP-Versionen fest. Für 2023 hoffe ich, dass die Zahl der älteren Versionen schneller sinkt. Das habe ich im obigen Beitrag zur Versionsstatistik geschrieben:
Diese Daten veranschaulichen auf wunderbare Weise die Spaltung innerhalb der PHP-Community: Ein Teil hält mit dem modernen PHP Schritt, während der andere Teil hilflos zurückbleibt.
Beim Upgrade möchte ich ein Tool besonders erwähnen: Rector.
Rector ist ein kostenloses Automatisierungstool, das Ihnen bei der Aktualisierung Ihrer PHP-Codebasis hilft. Es erfordert lediglich einen geringen Konfigurationsaufwand und nimmt Ihnen einen Großteil der Arbeit ab.
Ich habe es kürzlich verwendet, um meinen von der Community betriebenen Content-Aggregator Aggregate auf PHP 8.2 zu aktualisieren, und es hat wirklich Spaß gemacht und ist einfach zu bedienen.
Nachdem ich meinen Beitrag mit den Versionsstatistiken gepostet hatte, sagten mir ein paar Leute, dass sie noch nicht aktualisiert hätten und bei PHP 7.* hängen blieben, und ich fragte sie, warum? Sie sagten mir, es sei einfach zu viel körperliche Arbeit. Interessanterweise hat noch niemand versucht, Tools wie Rector zu nutzen, um ihnen zu helfen ...
Ich bin fest davon überzeugt, dass eine „Programmiersprache“ mehr als nur ein Compiler ist: Es sind die Tools und das Ökosystem, die bei der Definition einer „Programmiersprache“ eine gleichberechtigte Rolle spielen. Ich glaube wirklich, dass viele Menschen, Projekte und Unternehmen davon profitieren würden, wenn sie die Verwendung eines Automatisierungstools wie Rector in Betracht ziehen würden.
Da ich über das Ökosystem spreche, kann ich nicht umhin, die beiden größten Frameworks für PHP zu erwähnen: Laravel und Symfony.
Laravel ist in den letzten Jahren enorm gewachsen. Sie beschäftigen derzeit 8 Vollzeitentwickler, um das Framework und sein Ökosystem zu entwickeln. Darüber hinaus berichtet die Entwicklungsumfrage von JetBrains, dass 67 % der PHP-Entwickler Laravel verwenden.
Obwohl Symfony als Framework heute im Vergleich zu Laravel weniger beliebt ist, ist es immer noch eines der ausgereiftesten und stabilsten Frameworks in der PHP-Community. Es wird häufiger für die Entwicklung von Unternehmensanwendungen verwendet, aber seine eigenständigen Komponenten sind im gesamten PHP-Ökosystem beliebt – Laravel weist auch einige Abhängigkeiten von Symfony-Komponenten auf, sodass es nicht verwunderlich ist, dass es viele Symfony-Pakete auf die Top-Paketliste von Packagist schaffen. Kein Wunder.
Ich sollte auch WordPress erwähnen. Ehrlich gesagt habe ich eine Hassliebe zu WordPress. Als Benutzer ist WordPress großartig. Es ist so einfach zu installieren und zu verwenden, und ich denke, es hat im Laufe der Jahre jede Menge Popularität erlangt. Als Entwickler macht mich WordPress jedoch traurig. Die Unfähigkeit, mit modernen und sicheren PHP-Versionen Schritt zu halten, wirft einen Schatten auf die gesamte PHP-Community.
Derzeit bietet WordPress nur Beta-Unterstützung für PHP 8.0. Um es klarzustellen: PHP 8.0 wurde 2020 veröffentlicht und erreichte drei Jahre später das Ende seiner Lebensdauer – und WordPress unterstützt es noch nicht ...
Natürlich gibt es Gründe, warum neuere PHP-Versionen nicht richtig unterstützt werden. Es sollte dem Benutzer überlassen sein, zu entscheiden, ob sie korrekt sind. Meiner persönlichen Meinung nach ist die Entscheidung, auf Abwärtskompatibilität wie bei WordPress zu bestehen, in erster Linie geschäftlicher Natur: Ein großer Teil von WordPress ist der kommerzielle Teil und ein großer Teil des Kundenstamms nutzt ältere PHP-Versionen. Es ist ein Teufelskreis, in dem sich beide Seiten gegenseitig behindern und in gewissem Maße auch die Entwicklung der gesamten PHP-Community behindern.
Andererseits sollten wir uns darüber im Klaren sein, dass nach fast 20 Jahren nicht viele Softwareprojekte so beliebt und relevant sind wie WordPress. Vielleicht ist ihre Strategie hinsichtlich der Abwärtskompatibilität also richtig?
Super Episode
Abschließend kann ich nicht umhin, meinen langfristigen Traum von PHP zu erwähnen.
Ich schreibe es gerade und hoffe, dass es eines Tages Realität wird: eine Obermenge von PHP mit ordnungsgemäßer IDE- und statischer Analyseunterstützung.
Es gibt viele Gründe, warum ich möchte, dass es passiert. Sie können sie lesen und anhören, wenn Sie möchten, aber ich hoffe wirklich, dass sie Wirklichkeit werden. Es wird noch einige Zeit dauern, bis wir im Jahr 2023 eine weithin akzeptierte und unterstützte Obermenge sehen, aber einige kleine Schritte haben bereits begonnen. Ich werde PXP auf jeden Fall im Auge behalten, es wird die Dinge in die richtige Richtung lenken.
Zusammenfassend lässt sich sagen, dass alle Entwickler das Jahr 2023 lieben werden! Eine letzte Anmerkung für den Fall, dass Sie neu hier sind: Ich bin Brent, ein Entwickler-Evangelist bei JetBrains.
Hinweis: Die ursprüngliche englische Adresse lautet: https://stitcher.io/blog/php-in-2023