Eine kurze Analyse des automatischen Ladens verwandter Dateien durch Klassen in PHP

藏色散人
Freigeben: 2023-04-11 09:34:01
nach vorne
4016 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP und stellt hauptsächlich den relevanten Inhalt des automatischen Klassenladens in PHP vor. Ich hoffe, dass er für alle hilfreich ist.

Eine kurze Analyse des automatischen Ladens verwandter Dateien durch Klassen in PHP

Analyse von Dateien im Zusammenhang mit dem automatischen Laden von Klassen in PHP

Automatisches Laden von Klassen

Composer ist ein PHP-Paketverwaltungstool, mit dem Bibliotheken von Drittanbietern verwaltet werden können, von denen Anwendungen abhängig sind. Composer kann diese Abhängigkeiten über die Funktion zum automatischen Laden laden.

Composer verwendet einen Autoloading-Mechanismus, der bei Bedarf spezielle PHP-Funktionen verwendet, um Klassen zu laden. Diese Funktion wird als Autoloader-Funktion bezeichnet und aufgerufen, bevor die Ausführung des PHP-Skripts beginnt.

Wenn der PHP-Parser auf eine undefinierte Klasse stößt, ruft er die Autoloader-Funktion auf. Die Autoloader-Funktion akzeptiert einen Klassennamen als Parameter und verwendet diesen Klassennamen, um zu bestimmen, welche Datei geladen werden soll. Wenn der Klassenname beispielsweise Foo\Bar lautet, versucht die Autoloader-Funktion möglicherweise, die Datei /path/to/project/src/Foo/Bar.php zu laden.

Composer selbst verfügt über einige integrierte Autoloading-Funktionen, mit denen Bibliotheken geladen werden können, von denen die Anwendung abhängt. Composer kann beispielsweise Klassen mithilfe der PSR-4-Autoloading-Spezifikation laden. Diese Spezifikation verwendet Namespaces und Dateistrukturen, um zu bestimmen, welche Dateien geladen werden sollen. Um das automatische Laden von PSR-4 zu verwenden, müssen Sie das Namespace-Präfix und den Dateipfad in der Datei „composer.json“ der Anwendung angeben

PSR-4-Klasse-Spezifikation für automatisches Laden

PSR-4 (PHP-Standardempfehlung 4) ist eine Art PHP-Spezifikation für automatisches Laden. Es bietet eine Standardmethode zum Laden von PHP-Klassen mithilfe von Namespaces und Dateistrukturen.

In der PSR-4-Spezifikation verfügt jeder Namespace über einen entsprechenden Ordner. Wenn Sie beispielsweise einen Namespace Foo\Bar haben, können Sie die entsprechenden Klassendateien im Ordner /path/to/project/src/Foo/Bar ablegen.

In der PSR-4-Spezifikation ist der Klassenname normalerweise derselbe wie der Dateiname. Wenn Sie beispielsweise einen Namespace namens Foo\Bar und eine Klasse namens Baz haben, können Sie solche Definitionen in der Datei /path/to/project/src/Foo/Bar/Baz.php platzieren.

Bei Verwendung der PSR-4-Spezifikation müssen Sie das Namespace-Präfix und den Dateipfad in der Composer.json-Datei Ihrer Anwendung angeben. Composer verwendet diese Informationen, um Autoloading-Code zu generieren und schreibt ihn in die Datei autoload_psr4.php. Wenn Ihre Anwendung ausgeführt wird, lädt Composer diese Datei und verwendet die Autoloader-Funktion, um die Klasse zu laden. [Empfohlenes Lernen:

PHP-Video-Tutorial

]

Analyse mehrerer Dateien

vendor/autoload.php

Die Eintragsdatei enthält direkt die Datei autoload_real.php und ruft die folgende Methode auf, um alle verfügbaren Namespaces zu registrieren und Klassen, Dokumente usw.

require 'vendor/autoload.php';
Nach dem Login kopieren

vendor/composer/autoload_classmap.php

Gibt ein Array zurück, das alle Autoload-Dateien eines einzelnen Klassennamens→Klassendatei enthält.

vendor/composer/autoload_files.php

Gibt ein Array zurück, das alle PHP-Dateien enthält, die automatisch geladen werden müssen , normalerweise einige globale Funktionen usw.

vendor/composer/autoload_namespaces.php

Gibt ein Array zurück, das die Zuordnungsbeziehung automatisch ladender Namespaces enthält.

vendor/composer/autoload_psr4.php

Gibt ein Array zurück, das eine Liste von Namespace-→Dateipfaden enthält, die der PSR-4-Autoload-Spezifikation entsprechen.

Das obige ist der detaillierte Inhalt vonEine kurze Analyse des automatischen Ladens verwandter Dateien durch Klassen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:learnku.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!