Heim Schlagzeilen PHP ist nicht mehr das, was es vor zehn Jahren war

PHP ist nicht mehr das, was es vor zehn Jahren war

May 15, 2019 pm 04:38 PM
php

Entwickler Brent hat einen Artikel veröffentlicht, der detailliert beschreibt, wie PHP im Jahr 2019 aussieht.

PHP ist nicht mehr das, was es vor zehn Jahren war

Brent gab zu, dass PHP immer noch einige Probleme hat, wie zum Beispiel, dass viele Kernfunktionen immer noch inkonsistente Methodensignaturen haben und Konfigurationseinstellungen immer noch verwirrend sind, aber in seinen eigenen Worten From Aus Sicht der Entwicklungserfahrung glaubt er, dass PHP eine ausgezeichnete Wahl für die Webentwicklung ist. Mit PHP kann er zuverlässige, wartbare und qualitativ hochwertige Anwendungen erstellen, und sowohl er selbst als auch seine Kunden sind mit den Endergebnissen zufrieden. (Empfohlene Studie: PHP7 Technical Topic)

In dem Artikel konzentriert sich Brent auf die guten Aspekte der Entwicklung von PHP im Laufe der Jahre. Er erklärt anhand mehrerer Punkte, dass „PHP Nr länger Es war eine schreckliche Sprache vor zehn Jahren “:

● PHP wird aktiv weiterentwickelt und jedes Jahr werden neue Versionen veröffentlicht

● Die Leistung verbessert sich nach PHP 5 ständig

● Es gibt ein sehr aktives Sprachökosystem bestehend aus Frameworks, Paketen und Plattformen

● PHP entwickelt sich ständig weiter und in den letzten Jahren wurden viele neue Funktionen hinzugefügt

● In der Vergangenheit wurden verschiedene Entwicklungstools entwickelt. Sie sind über mehrere Jahre ausgereift und wachsen weiter

PHP wird aktiv weiterentwickelt und jedes Jahr werden neue Versionen veröffentlicht

Das aktuelle PHP Version 7.3 wurde im Dezember letzten Jahres veröffentlicht, 7.4 wird voraussichtlich Ende dieses Jahres veröffentlicht. PHP 8.0 wird die nächste Version nach 7.4 sein.

PHP ist nicht mehr das, was es vor zehn Jahren war

Seit der 5.X-Ära hofft das Kernteam, jedes Jahr eine neue Version zu veröffentlichen, und hat einen solchen Veröffentlichungszyklus in den letzten vier Jahren erfolgreich aufrechterhalten. Normalerweise wird jede neue Version zwei Jahre lang offiziell aktiv unterstützt, gefolgt von einem Jahr ausschließlich mit Sicherheitsupdates, mit dem Ziel, PHP-Entwicklern einen Anreiz zu geben, so weit wie möglich auf dem neuesten Stand zu bleiben.

PHP ist nicht mehr das, was es vor zehn Jahren war

Weitere spezifische Release- und Wartungszyklen finden Sie in der Einführung auf der offiziellen PHP-Website:

https://www.php .net/supported-versions.php

Wenn Sie sich die Tabelle oben ansehen, stellen Sie möglicherweise fest, dass die Versionsnummer von 5 auf 7 gestiegen ist. Wo ist PHP 6 geblieben?

Übrigens, lasst uns etwas Wissenschaft bekannt machen. Tatsächlich initiierte die PHP-Community bereits 2005 PHP 6. Aufgrund der großen Schwierigkeiten bei der Implementierung von Unicode wurde das Projekt jedoch schließlich nicht freigegeben, und PHP 6 wurde 2010 eingestellt. Obwohl das PHP-6-Projekt eingestellt wurde, wurden viele der implementierten Funktionen in PHP 5 integriert.

PHP 6 wurde eingestellt, aber die vorherige Entwicklung dieser Hauptversion wurde unter dem Namen PHP 6 durchgeführt, daher verwenden viele Referenzmaterialien und Bücher „PHP 6“, um auf diese Version zu verweisen. Die Beamten befürchteten, dass dies nach der Abkehr von PHP 6 zu Verwirrung führen würde, weshalb sie einfach nicht die Versionsnummer von PHP 6.X verwendeten und direkt von 5 auf 7 wechselten.

Einzelheiten finden Sie in der offiziellen Beschreibung:

https://wiki.php.net/rfc/php6

Leistung nach PHP 5 Bei der kontinuierlichen Verbesserung von

PHP 7.0 wird der Kernteil von PHP komplett neu geschrieben und bringt die neueste Zend-Engine mit, die die PHP-Leistung um das Zwei- bis Dreifache verbessert.

Der Autor zitierte den Benchmark-Test unter https://kinsta.com/blog/php-benchmarks, um diesen Punkt zu veranschaulichen, und wies darauf hin, dass sich seit 7.0 die PHP-Leistung sowie PHP-Webanwendungen und Web-Frameworks verbessert haben in anderen Sprachen Die Leistung ist viel besser als in einigen Fällen. Aber er sagte auch: „Natürlich wird das PHP-Framework nicht besser sein als C und Rust, aber es ist viel besser als Rails oder Django und vergleichbar mit ExpressJS.“

Es gibt sehr aktive Frameworks.“ , Pakete und Plattformen Sprachökologie

Wenn es um PHP-Framework geht, müssen wir WordPress erwähnen, aber der Autor sagte, dass WordPress definitiv nicht das aktuelle PHP-Ökosystem darstellt: „PHP-Framework ist nicht mehr gerecht.“ WordPress.“

Derzeit gibt es zwei Haupt-Frameworks für die Entwicklung von Webanwendungen in PHP: Symfony und Laravel sowie Zend, Yii, Cake und Code Igniter, zusätzlich zu vielen kleineren Frameworks.

Sowohl Symfony als auch Laravel verfügen über riesige Paket- und Software-Ökosysteme, darunter Admin-Panel und CRM, unabhängige Softwarepakete, CI, Analyser, Web-Socket-Server, Warteschlangenmanager und Zahlungsintegrationen usw.

Darüber hinaus sind in den letzten Jahren auch asynchrone PHP-Frameworks entstanden. Swoole, Amp und ReactPHP sind die besten unter ihnen. Es handelt sich um Frameworks und Server, die in PHP oder anderen Sprachen geschrieben wurden, um echtes asynchrones PHP auszuführen.

Der Autor glaubt, dass eine Möglichkeit, den aktuellen Zustand des PHP-Ökosystems zu messen, darin besteht, sich Daten von Packagist, dem Haupt-PHP-Paket-Repository, anzusehen. Anhand des folgenden Trenddiagramms können Sie erkennen, dass die Anzahl der Softwarepakete exponentiell gestiegen ist und derzeit 223.217 Softwarepakete registriert sind und die Gesamtzahl der Installationen 14.827.204.847 erreicht hat. Das PHP-Ökosystem ist nicht mehr so ​​schwach wie zuvor.

PHP ist nicht mehr das, was es vor zehn Jahren war

Anzahl der verfügbaren Pakete in verschiedenen Versionen

PHP ist nicht mehr das, was es vor zehn Jahren war

Anzahl der pro Monat installierten Pakete

PHP ist nicht mehr das, was es vor zehn Jahren war

Darüber hinaus können Sie sich auch die neuesten Daten zu PHP-Nutzungsstatistiken und Marktpositionierung ansehen:

http://www.php.cn/toutiao-418943. html

PHP entwickelt sich ständig weiter und in den letzten Jahren wurden viele neue Funktionen hinzugefügt

Async und Wait, zwei stark nachgefragte Funktionen, jedoch nicht noch nicht implementiert, jedoch sind in den letzten Jahren immer wieder neue Funktionen von PHP aufgetaucht und die Sprache selbst wurde in verschiedenen Aspekten verbessert.

Nachfolgend sind einige neue PHP-Funktionen aufgeführt, die viel Aufmerksamkeit erregt haben:

● Kurze Verschlüsse

Kurze Verschlüsse, auch als Pfeilfunktionen bekannt, die ist eine Möglichkeit, kürzere Funktionen in PHP zu schreiben. Abschlüsse können äußerst nützlich sein, wenn sie an Funktionen wie array_map oder array_filter übergeben werden.

// A collection of Post objects $posts = [/* … */];
$ids = array_map(fn($post) => $post->id, $posts);
Nach dem Login kopieren

● Null-Koaleszenzoperator

Null-Koaleszenzoperator, er ähnelt dem ternären Operator, aber der linke Operand verhält sich wie isset, anstatt nur seinen booleschen Wert zu verwenden. Dies macht diesen Operator besonders nützlich für Arrays. Außerdem wird ein Standardwert zugewiesen, wenn die Variable nicht festgelegt ist.

$undefined ?? 'fallback'; // 'fallback'
$unassigned;
$unassigned ?? 'fallback'; // 'fallback'
$assigned = 'foo';
$assigned ?? 'fallback'; // 'foo'
'' ?? 'fallback'; // ''
'foo' ?? 'fallback'; // 'foo'
'0' ?? 'fallback'; // '0'
0 ?? 'fallback'; // 0
false ?? 'fallback'; // false
Nach dem Login kopieren

● Traits

Trait ist ein Mechanismus zur Wiederverwendung von Code, der einige der Einschränkungen der Einzelvererbung reduzieren kann. Die Semantik der Kombination von Merkmalen mit Klassen definiert eine Möglichkeit, die Komplexität zu reduzieren und typische Probleme im Zusammenhang mit Mehrfachvererbung und Mixins zu vermeiden.

Trait ähnelt einer Klasse, wird jedoch nur zur feinkörnigen und konsistenten Gruppierung von Funktionen verwendet. Es ist eine Ergänzung zur herkömmlichen Vererbung und kann eine horizontale Kombination von Verhaltensweisen erreichen, die für Klassenmitglieder nicht erforderlich sind Nachlass.

<?php
trait ezcReflectionReturnInfo {
    function getReturnType() { /*1*/ }
    function getReturnDescription() { /*2*/ }
}
class ezcReflectionMethod extends ReflectionMethod {
    use ezcReflectionReturnInfo;
    /* ... */
}
class ezcReflectionFunction extends ReflectionFunction {
    use ezcReflectionReturnInfo;
    /* ... */
}
?>
Nach dem Login kopieren

● Typisierte Eigenschaften

Attribute werden typisiert und Klassenvariablen können Typen definieren, wie zum Beispiel:

class A
{
    public string $name;
    
    public Foo $foo;
}
Nach dem Login kopieren

● Spread-Operator

Erweiterungsoperator, eine neue Syntax, die Parameter im Aufruf direkt dekomprimieren kann, wie zum Beispiel:

call_user_func_array([$db, &#39;query&#39;], array_merge(array($query), $params));
Nach dem Login kopieren

Das Array $params kann direkt mit der neuen Syntax erweitert werden:

$db->query($query, ...$params);
Nach dem Login kopieren

● JIT-Compiler: JIT-Unterstützung ist in PHP 8 bestätigt

JIT ist eine Compilerstrategie, die Code als Zwischenzustand ausdrückt, in den er konvertiert wird Architekturabhängiger Maschinencode und wird im laufenden Betrieb ausgeführt. In PHP bedeutet dies, dass die JIT von Zend VM generierte Anweisungen als Zwischendarstellungen behandelt und sie in architekturabhängigem Maschinencode ausführt. Das heißt, es ist nicht mehr Zend VM, das den Code hostet, sondern die zugrunde liegende CPU.

● FFI

Foreign Function Interface, das den Aufruf von C-Funktionen aus reinen Skriptsprachen und die Verwendung von C-Datentypen ermöglicht, um „systemeffizienteren“ Code zu entwickeln. Für PHP eröffnet FFI die Möglichkeit, PHP-Erweiterungen zu schreiben und mit reinem PHP an C-Bibliotheken zu binden.

● Anonyme Klassen

Anonyme Klassen zum Erstellen einfacher Einwegobjekte:

<?php
// Pre PHP 7 code
class Logger
{
    public function log($msg)
    {
        echo $msg;
    }
}
$util->setLogger(new Logger());
// PHP 7+ code
$util->setLogger(new class {
    public function log($msg)
    {
        echo $msg;
    }
});
Nach dem Login kopieren

● Rückgabetypdeklarationen

Rückgabetyp deklarieren:

<?php
function sum($a, $b): float {
    return $a + $b;
}
// Note that a float will be returned.
var_dump(sum(1, 2));
?>
Nach dem Login kopieren

Strikter Modus:

<?php
declare(strict_types=1);
function sum($a, $b): int {
    return $a + $b;
}
var_dump(sum(1, 2));
var_dump(sum(1, 2.5));
?>
Nach dem Login kopieren

● Zeitgenössische Kryptographie

Machen Sie Libsodium zu einer Kernerweiterung. Libsodium ist eine moderne kryptografische Bibliothek bestehend aus Verschlüsselungsalgorithmen, die von Sicherheitsexperten sorgfältig ausgewählt wurden, um Seitenkanal-Schwachstellen zu vermeiden.

● Generatoren

Generatoren bieten eine einfache, bausteinfreie Möglichkeit, Iteratoren zu implementieren.

Verschiedene Entwicklungstools sind in den letzten Jahren ausgereifter geworden und weiter gewachsen

Im letzten Teil analysierte der Autor, dass auch die aktuellen PHP-Entwicklungstools ausgereift sind und weiter gewachsen sind.

Er verwendete als Beispiele statische Analysatoren wie Psalm, Phan und PHPStan. Diese Tools analysieren PHP-Code statisch und melden alle Arten von Fehlern und möglichen Bugs. Die von ihnen bereitgestellte Funktionalität ist bis zu einem gewissen Grad mit der von TypeScript vergleichbar, aber da PHP derzeit kein Transpile bietet, ist eine benutzerdefinierte Syntax nicht zulässig. Dies bedeutet, dass die PHP-Entwicklung auf Dokumentation angewiesen sein muss, aber tatsächlich erwähnte der Erfinder von PHP, Rasmus Lerdorf, einmal die Idee, dem Kern eine statische Analyse-Engine hinzuzufügen.

受到 JavaScript 社区的启发,目前 PHP 也有在进行转换的相关研发,比如项目 Pre,它允许新的 PHP 语法转换为普通的 PHP 代码。虽然这个想法已经在 JavaScript 中被证明可行,但作者认为在 PHP 中,只有先提供了适当的 IDE 和静态分析支持,它才有可能实现。

讲完了 PHP 当前的这些变化,作者最后没有以“PHP 是世界上最好的语言”作结语,相反,他是这样说的:

All that being said, feel free to still think of PHP as a crappy language... I can say in confidence that I enjoy working with it.
Nach dem Login kopieren

话虽如此,但是还要继续认为 PHP 是蹩脚的语言那也是可以的。我可以很自信地说我喜欢 PHP。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

Wie analysiert und verarbeitet man HTML/XML in PHP? Wie analysiert und verarbeitet man HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

7 PHP-Funktionen, die ich leider vorher nicht kannte 7 PHP-Funktionen, die ich leider vorher nicht kannte Nov 13, 2024 am 09:42 AM

Wenn Sie ein erfahrener PHP-Entwickler sind, haben Sie möglicherweise das Gefühl, dass Sie dort waren und dies bereits getan haben. Sie haben eine beträchtliche Anzahl von Anwendungen entwickelt, Millionen von Codezeilen debuggt und eine Reihe von Skripten optimiert, um op zu erreichen

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge PHP -Programm zum Zählen von Vokalen in einer Zeichenfolge Feb 07, 2025 pm 12:12 PM

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan

Erklären Sie die späte statische Bindung in PHP (statisch: :). Erklären Sie die späte statische Bindung in PHP (statisch: :). Apr 03, 2025 am 12:04 AM

Statische Bindung (statisch: :) implementiert die späte statische Bindung (LSB) in PHP, sodass das Aufrufen von Klassen in statischen Kontexten anstatt Klassen zu definieren. 1) Der Analyseprozess wird zur Laufzeit durchgeführt.

Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Was sind PHP Magic -Methoden (__construct, __Destruct, __call, __get, __set usw.) und geben Sie Anwendungsfälle an? Apr 03, 2025 am 12:03 AM

Was sind die magischen Methoden von PHP? Zu den magischen Methoden von PHP gehören: 1. \ _ \ _ Konstrukt, verwendet, um Objekte zu initialisieren; 2. \ _ \ _ Destruct, verwendet zur Reinigung von Ressourcen; 3. \ _ \ _ Call, behandeln Sie nicht existierende Methodenaufrufe; 4. \ _ \ _ GET, Implementieren Sie den dynamischen Attributzugriff; 5. \ _ \ _ Setzen Sie dynamische Attributeinstellungen. Diese Methoden werden in bestimmten Situationen automatisch aufgerufen, wodurch die Code -Flexibilität und -Effizienz verbessert werden.