PHP 8.2: Was ist neu?
Die neue Version von PHP steht vor der Tür. Was sind die neuen Implementierungen, über die Sie Bescheid wissen sollten? Lesen Sie diesen Artikel, um es herauszufinden!
Als PHP-Entwickler erinnere ich mich noch an die Tage von PHP4, die erste (optionale!) GC-Implementierung in PHP5, und ich habe den _Hype_ um die Einführung von PHP7 und seine Auswirkungen miterlebt.
Im Laufe der Jahre haben mich viele Leute gefragt, warum ich mir die Mühe mache Programmierung in PHPund seit vielen Jahren höre ich wie ein Mantra zwei immer wiederkehrende Argumente, warum ich aufhören und anfangen sollte, kommerzielle Software in Sprachen wie Java oder C#.
Heute werde ich diese Argumente zitieren und versuchen, Ihre Einstellung zu ändern PHP zumindest ein bisschen. Ja, der Titel dieses Artikels ist ein absurder Clickbait.
PHP stirbt Jahr für Jahr aus. Die einst beliebteste Websprache verliert nun Monat für Monat an Popularität, vor allem an JavaScript.
Wenn man sich die Zahlen ansieht, ist die Wahrheit ernüchternd! Im vergangenen Jahr, PHP verlor 1,6% seines Anteils als Backend-Sprache des Webs.
Wenn PHP setzt diesen Abwärtstrend fort, in 18 Jahren PHP wird unter 50% der Backend-Webtechnologie fallen!
Aber gut, Spaß beiseite - auch wenn die Zahlen real sind wie von W3CTechs berichtet.
Die erste Erwähnung, die PHP stirbt, ist seit 2013 im Netz zu finden. Damals Software Revolverheld veröffentlichte einen Artikel (die ich übrigens sehr empfehle!), in der es heißt, dass PHP sterben wird, weil es keine langlebigen Prozesse unterstützt und weil es ihm an Asynchronität mangelt.
Und das ist eine Tatsache, PHP ist dafür nicht gemacht!
wenn man nur einen Hammer hat, sieht alles wie ein Nagel aus
Doch zurück zu den Zahlen: Werfen wir einen Blick auf die Daten des letzten Jahres zu PHP Versionen, die in Packagist-Paketen verwendet werden. Die neuesten Daten sind auf der Quellseite verfügbar packagist.org
Ist das die Akzeptanzkurve für neue Versionen einer aussterbenden Programmiersprache?
Wenn das noch nicht reicht, sollten wir unsere "PHP-Todesrate" mit anderen Sprachen vergleichen.
Die Daten für die Analyse stammen ausGitHut 2.0die ein Diagramm mit der Anzahl der Git-Push
pro Sprache auf Github seit 2012, gemäß dem Schema - "Die prozentuale Sprachverteilung im Liniendiagramm zeigt die Top 10 (oder manuell ausgewählten) Sprachen seit 2012/Q2".
Wie Sie sehen können PHP sowie andere beliebte Sprachen wie Ruby, C/C++, Python haben in den letzten Jahren auf Github deutlich an Popularität eingebüßt, allerdings gibt es einen Aufwärtstrend und wir erwarten, dass sie nach einer längeren Seitwärtsphase wieder auf hohe Positionen zurückkehren werden. (dies ist keine Anlageberatung)
Die ursprüngliche Hype
für die Sprache Javascript ist in der gleichen Grafik zu sehen. Die Schlussfolgerungen und ihre Analyse überlasse ich bereits Ihnen, lieber Leser.
Aber andererseits - eine aussterbende Sprache sollte nicht dazu führen, dass die Zahl der Stellenangebote für Programmierer steigt, oder?
Zum Zeitpunkt des Schreibens dieses Artikels kann ich aus 171 Stellenangeboten auf einem der führenden Jobportale in Polendavon bis zu 50 für Junioren. PHP stirbt, richtig?
Apropos Geld... wussten Sie, dass PHP und seine Quelle Code wird seit November 2021 von der unabhängige Open Source GemeinschaftDie Stiftung PHP die zahlt viel Geld an OpenSource-Entwickler für Beiträge zu php-src
?
Im Gegensatz zu anderen Sprachen und Frameworks, die oft im Besitz großer Unternehmen sind, ist die Kernentwicklung Team wird direkt vom Konto der Stiftung gezahlt, die sich aus Beiträgen von Privatunternehmen wie JetBrains und Symfony Corp, aber auch vonkleine Beiträge von einzelnen Entwicklern.
Open Source in seiner ganzen Pracht!
Ja, dieses Argument kommt immer aus dem Mund von Entwicklern, die sich mit stark typisierten, vergleichbaren Sprachen vertraut gemacht haben.
Ein Blick auf das Diagramm der Daten, die während derStackOverflow-Umfrage von 2021 sehen Sie, dass 10 834 Befragte, das sind fast 60% der Gesamtzahl, PHP für "schrecklich" halten.
Als jemand der alten Schule PHP ProgrammiergerätIch verstehe, warum das so ist. Ich werde sofort an ein klassisches Beispiel für Gedächtnisprobleme erinnert, und zwar PHP:
<?php
Klasse FOO {
öffentlich $f;
}
class BAR {
öffentlich $f;
}
while(1) {
$a = new FOO();
$b = new BAR();
$a->f = $b;
$b->f = $a;
print "Speicherverbrauch: " . number_format(memory_get_usage(true)) . " bytesn";
unset($a);
unset($b);
}
Für die Uneingeweihten - ja, der obige Code verursacht einen Speicherfehler. Und es gibt noch mehr. Von der idiotischen Benennung der Methoden und dem völligen Fehlen von Logik in der Reihenfolge ihrer Parameter (ja, wir alle lieben str_
und array_
) zu PHPs berühmtestem Fehler T_PAAMAYIM_NEKUDOTAYIM
- PHP ist voll von Macken und Unzulänglichkeiten der alten Versionen. Dies bedeutet nicht, dass das, was wir über PHP vor ein paar Jahren ist immer noch wahr. Die Sprache hat eine gewaltige Metamorphose durchgemacht, und heute freue ich mich, wenn ich meine Objektdefinitionen betrachte:
readonly class BenachrichtigungEreignis
{
public function __construct(
öffentliche Zeichenkette $context,
public Benutzer $user,
public string $body,
public DateTime $issuedAt,
) {}
}
Darüber hinaus ist die PHP Ökosystem ist enorm gewachsen, und wir haben jetzt unglaubliche Möglichkeiten, guten, stark typisierten und gut getesteten Code zu erstellen. Wir können verwenden Symfony zur Entwicklung von DDD-Anwendungen ohne größere Probleme, und wir können das Problem der Synchronität des PHP mit Hilfe des Message Bus umgehen.
Und obwohl ich selbst nicht glaube, dass PHP für die Erstellung langlebiger Backend-Prozesse geeignet ist und große Leistungsprobleme bei der Zustandssynchronisation hat, habe ich auchein PHP-Konsolenspiel erstellt mit Symfony + Docker mit meinen eigenen Händen als Beispiel dafür, dass PHP noch unkonventionelle Anwendungen haben kann.
Eine weitere Vorteil des PHP ist seine niedrige Einstiegshürde für neue Entwickler. Die Dokumentationen der beiden beliebten Frameworks Symfony undLaravel und PHP Dokumentation selbst reichen aus, um mit ihrer Hilfe die Backend-Welt zu betreten. Eine Welt, die in PHP nicht perfekt ist, aber viel zulässt. Mit zusätzlichen Bibliotheken wie Laravel Nova sind wir in der Lage, fast jede Komponente unseres Systems mit nur zwei Befehlen zu erstellen.
Ist PHP Sterben?
Nein, aber sie hat ein Imageproblem und braucht viel Arbeit, um es zu verbessern. Wir, die Programmierer, müssen diese Arbeit leisten, indem wir die neue Generation unterrichten und bewährte Verfahren in Form von Artikeln, Bibliotheken und Tipps weitergeben.
Als eine Sprache, die in den letzten Jahren Markt seit zwanzig Jahren, die bereits mehr als ein Jahr überlebt hat Hype
(Erinnern Sie sich an Objective-C?) Ich denke, es wird sich behaupten und seine Nische finden.
Und wer weiß, vielleicht erweisen sich meine Vorhersagen als richtig und PHP 10.x wird in zwei Jahren wieder boomen?