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.
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
]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';
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!