


Detaillierte Erläuterung der PHP-Namespaces, Merkmale und Generatoren
Dieser Artikel stellt Ihnen hauptsächlich die relevanten Informationen zum Namespace, den Merkmalen und den Generatoren der neuen Funktionen von PHP vor. Er befasst sich hauptsächlich mit dem Inhalt von Merkmalen (Traits) und Generatoren (Traits) in PHP php Studierende, die sich für Generatoren interessieren, können darauf verweisen. Ich hoffe, es hilft allen.
1. Namespace
Was ist ein Namespace?
1). Namespace wurde in PHP 5.3 eingeführt, ähnlich der Funktion von Ordnern. Beispielsweise befinden sich Request und Response im Symfony-Framework unter dem Symfony-Namespace.
2). Der Namespace sollte immer in der Zeile unter dem
3) Der Namensraum der PHP-Datei unterscheidet sich vom physischen Dateisystem des Betriebssystems. Dies ist ein virtuelles Konzept und entspricht nicht unbedingt der Verzeichnisstruktur des Dateisystems. Dennoch platzieren die meisten PHP-Komponenten Subnamespaces in Unterverzeichnissen des Dateisystems, um mit dem weit verbreiteten PSR4-Autoloading-Standard kompatibel zu sein.
4) Namespace ist nur ein Symbol der PHP-Sprache. Der PHP-Interpreter fügt dieses Symbol als Präfix zu den Namen von Klassen, Schnittstellen, Funktionen und Konstanten hinzu.
Warum brauchen Sie einen Namensraum?
1) Namespace ermöglicht die Ausführung des Programms wie eine Sandbox und kann mit Code verwendet werden, der von anderen Entwicklern geschrieben wurde. Stellen Sie sicher, dass Ihr Code und Ihre Projekte mit den Drittanbieterabhängigkeiten des Projekts verwendet werden können.
Namespace deklarieren
1). Der Namespace der obersten Ebene wird häufig zum Festlegen des Herstellernamens der obersten Ebene verwendet. 2) Der Namespace des Herstellers muss global eindeutig sein. Subnamespaces sind nicht so wichtig, aber sie helfen, den Code des Projekts zu organisieren.
Import und Alias
1). Ab PHP5.3 können Sie PHP-Klassen, Schnittstellen und andere Namespaces importieren und Aliase für sie erstellen. Ab PHP5.6 können Sie PHP-Funktionen und -Konstanten importieren und Aliase für sie erstellen.
2). Wenn Sie zum Importieren von Code das Schlüsselwort use verwenden, muss am Anfang kein Symbol hinzugefügt werden, da PHP davon ausgeht, dass der importierte Namespace ein vollständig qualifizierter Namespace ist. Das Schlüsselwort „use“ muss im globalen Bereich erscheinen, d. h. es darf nicht in einer Klasse oder Funktion vorkommen, da dieses Schlüsselwort während der Kompilierung verwendet wird. Das Schlüsselwort „use“ kann jedoch nach der Namespace-Deklarationsanweisung verwendet werden, um anderen Namespaces zu importieren.
Ab PHP5.6 können wir Funktionen und Konstanten importieren.
<?php use func Namespace\functionName; functionName();
Sie können auch Konstanten importieren.
use constant Namespace\CONS_NAME; echo CONS_NAME;
Aliase für Funktionen und Konstanten werden auf die gleiche Weise wie Klassennamen erstellt.
Best Practices
1).PHP ermöglicht die Definition mehrerer Namespaces in einer PHP-Datei. Dies kann jedoch verwirrend sein und widerspricht der bewährten Vorgehensweise, eine Datei pro Klasse zu verwenden. 2) Wenn Sie in einem Namespace auf den Code des globalen Namespace verweisen, müssen Sie ein Präfix hinzufügen, um PHP mitzuteilen, dass es die Klasse global finden muss, z. B. die native Ausnahmeklasse von PHP.
Automatisches Laden
1). Der Namespace bildet eine solide Grundlage für den von PHP-FIG entwickelten PSR4-Autoloader.
2. Verwenden Sie die Schnittstelle
1). Weil sie alle über Lenkräder, Gaspedale und Bremsen verfügen und der Treibstoff Benzin ist.
3. Traits
1). Shape ist eine Teilimplementierung einer Klasse (Konstanten, Eigenschaften und Methoden), die in eine oder mehrere vorhandene PHP-Klassen eingemischt werden kann , gibt an, was eine Klasse tun kann (ähnlich einer Schnittstelle) und bietet modulare Praktiken (ähnlich einer Klasse).
2). Merkmale ermöglichen es zwei unabhängigen Klassen, dieselben Attribute und Methoden zu verwenden.
3). Der PHP-Interpreter kopiert die Eigenschaften und fügt sie in den Definitionskörper der Klasse ein.
4. Erstellen Sie einen Generator
1) Verwenden Sie das Schlüsselwort yield einmal oder mehrmals in einer normalen Funktion, ohne einen Wert zurückzugeben und nur einen Wert zu generieren. Beispiel:
<?php function myGenerator() { yield 'value1'; yield 'value2'; }
Beim Aufruf der Generator-Funktion gibt PHP ein Objekt zurück, das zur Generator-Klasse gehört. Dieses Objekt kann mit der Funktion foreach() iteriert werden. Für jede Iteration benötigt PHP die Instanz Berechnung dieses Objekts und Bereitstellung des nächsten zu iterierenden Werts. Die Eleganz des Generators besteht darin, dass der interne Zustand des Generators zwischen Pause und Wiederherstellung wechselt, bis er das Ende des Definitionskörpers erreicht oder trifft eine leere return;-Anweisung, zum Beispiel:
<?php foreach (myGenerator() as $yieldedValue) { echo $yieldedValue, PHP_EOL; }
Das obige Beispiel gibt
value1 value2
2) aus. Generieren Sie einen Wertebereich (falsch)
function makeRange($length) { $dataset = []; for ($i=0; $i < $length; $i++) { $dataset[] = $i; } return $dataset; } $customRange = makeRange(1000000); foreach ($customeRange as $i) { echo $i, PHP_EOL; }
Erstellen Sie im Voraus ein Array mit einer großen Ganzzahl und sehen Sie sich dann das Beispiel für die Verwendung des Generators an.
function makeRange($length) { for ($i = 0; $i < $length; $i++) { yield $i; } } foreach(makeRange(1000000) as $i) { echo $i, PHP_EOL; }
Bei praktischen Funktionen wie dem Iterieren einer 4-GB-Datei kommen Iteratoren ins Spiel.
function getRows($file) { $handle = fopen($file, 'rb'); if ($handle === false) { throw new Exception(); } //feof()函数检测是否到达文件末尾 while (feof($handle) === false) { //fgetcsv()一次读取csv文件的一行 yield fgetcsv($handle); } fclose($handle) } foreach (getRows('data.csv') as $row) { print_r($row); }
3). Der Generator fügt keine neuen Funktionen zu PHP hinzu. Er muss den schnellen Vorlauf, den Rücklauf und die Suche im Datensatz implementieren. Am besten schreiben Sie eine eigene Klasse, um die Iterator-Schnittstelle zu implementieren , oder verwenden Sie die PHP-Standardbibliothek, einen nativen Iterator.
Verwandte Empfehlungen:
Detaillierte Erläuterung der PHP-Namespace-Nutzung
Detaillierte Beispiele für die Verwendung von PHP-Namespaces
Einführung in PHP-Namespaces, Merkmale und Generatoren
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Namespaces, Merkmale und Generatoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





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.

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

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

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.

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

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

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 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.
