Cet article vous apporte des connaissances pertinentes sur PHP, qui présentent principalement le contenu pertinent du chargement automatique des classes. Analysons les fichiers liés au chargement automatique des classes en PHP. J'espère que cela sera utile à tout le monde.
Chargement automatique des classes
Composer est un outil de gestion de packages PHP qui peut être utilisé pour gérer les bibliothèques tierces dont dépendent les applications. Composer peut charger ces dépendances via la fonction de chargement automatique.
Composer utilise un mécanisme de chargement automatique qui utilise des fonctions PHP spéciales pour charger les classes en cas de besoin. Cette fonction est appelée fonction de chargement automatique et est appelée avant le début de l'exécution du script PHP.
Lorsque l'analyseur PHP rencontre une classe non définie, il appelle la fonction autoloader. La fonction de chargement automatique accepte un nom de classe comme paramètre et utilise ce nom de classe pour déterminer quel fichier doit être chargé. Par exemple, si le nom de la classe est Foo\Bar, la fonction de chargement automatique peut essayer de charger le fichier /path/to/project/src/Foo/Bar.php.
Composer lui-même possède des fonctions de chargement automatique intégrées qui peuvent être utilisées pour charger les bibliothèques dont dépend l'application. Par exemple, Composer peut charger des classes à l'aide de la spécification de chargement automatique PSR-4. Cette spécification utilise des espaces de noms et des structures de fichiers pour déterminer quels fichiers doivent être chargés. Pour utiliser le chargement automatique PSR-4, vous devez spécifier le préfixe d'espace de noms et le chemin du fichier dans le fichier composer.json de l'application
Lors de son utilisation, il vous suffit généralement d'inclure le fichier d'entrée de chargement automatique de classe suivant pour compléter
require 'vendor/autoload.php';
Spécification de chargement automatique de classe PSR -4
PSR-4 (PHP Standard Recommendation 4) est un type de spécification de chargement automatique PHP. Il fournit un moyen standard de charger des classes PHP à l'aide d'espaces de noms et de structures de fichiers.
Dans la spécification PSR-4, chaque espace de noms a un dossier correspondant. Par exemple, si vous disposez d'un espace de noms Foo\Bar, vous pouvez placer les fichiers de classe correspondants dans le dossier /path/to/project/src/Foo/Bar.
Dans la spécification PSR-4, le nom de la classe est généralement le même que le nom du fichier. Par exemple, si vous disposez d'un espace de noms appelé Foo\Bar et d'une classe appelée Baz, vous pouvez placer ces définitions dans le fichier /path/to/project/src/Foo/Bar/Baz.php.
Lorsque vous utilisez la spécification PSR-4, vous devez spécifier le préfixe de l'espace de noms et le chemin du fichier dans le fichier composer.json de votre application. Composer utilise ces informations pour générer du code de chargement automatique et l'écrit dans le fichier autoload_psr4.php. Lorsque votre application s'exécute, Composer charge ce fichier et utilise la fonction de chargement automatique pour charger la classe. [Apprentissage recommandé : Tutoriel vidéo PHP]
Analyse de plusieurs fichiers
vendor/autoload.php
Le fichier d'entrée contient directement le fichier autoload_real.php et appelle la méthode suivante pour enregistrer tous les espaces de noms disponibles et cours, documents, etc.
ComposerAutoloaderInitxxxxxx::getLoader()
vendor/composer/autoload_classmap.php
Renvoie un tableau contenant tous les fichiers de chargement automatique d'un seul nom de classe → fichier de classe
vendor/composer/autoload_files.php
Renvoie un tableau contenant tous les fichiers PHP qui doivent être automatiquement chargés , généralement certaines fonctions globales, etc.
vendor/composer/autoload_namespaces.php
Renvoie un tableau contenant la relation de mappage des espaces de noms à chargement automatique.
vendor/composer/autoload_psr4.php
Renvoie un tableau contenant une liste d'espaces de noms → chemins de fichiers conformes à la spécification de chargement automatique PSR-4.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!