Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Analyse des automatischen Ladens verwandter Dateien durch Klassen in PHP

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

藏色散人
藏色散人nach vorne
2022-12-29 16:37:153972Durchsuche

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';

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen