❝Cet article vous fera découvrir l'histoire appartenant à spl_autoload_register
❞
❝!Kaka a compilé une feuille de route et a commencé à créer un guide d'entretien, se préparant à suivre cette feuille de route que j'écris un article et j'ajouterai quelques points de connaissances que je n'ai pas ajoutés plus tard. J'ai également hâte de vous voir dans la zone de commentaires 🎜>
Insérer la description de l'image ici
Le concept d'espace de noms a été introduit dans PHP5.3 Pour cette raison, un contributeur l'a dit dans la documentation PHP il y a 11 ans, I made this benchmark to ensure that I don't recommend something that could be called "nice, but slow" later
.
Se traduit par "J'ai fait ce test pour m'assurer que je ne recommande pas quelque chose que l'on peut qualifier de bon, mais de très lent" à l'avenir. Le test effectué par
consiste à définir 10 dossiers, chaque dossier a 10 sous-dossiers et chaque sous-dossier a 10 classes, puis à utiliser autoload et spl_autoload pour comparer, et le temps d'exécution moyen est 50 ms plus long .
Ensuite, cette chose fait référence à _autoload()
Cette méthode sera finalement abandonnée dans PHP7.2.
En plus des problèmes d'efficacité, il existe une autre raison pour laquelle la méthode _autoload a finalement été abandonnée.
Vous pouvez écrire plusieurs spl_autoload_registers selon vos propres besoins. L'ordre de chargement est en mode file d'attente, premier entré, premier sorti.
autoload est une fonction globale, elle ne peut donc être définie qu'une seule fois. Si elle est définie plusieurs fois, une erreur sera signalée. Si un projet est mis en œuvre à l'aide de plusieurs frameworks, ce problème se posera.
Cette fonction n'a que trois paramètres, le premier paramètre est automatiquement chargé Fonction , le deuxième paramètre consiste à lever une exception lorsque la fonction enregistrée automatiquement échoue, et le troisième paramètre consiste à ajouter la fonction en tête de la file d'attente, et non à la queue de la file d'attente.
Les éléments ci-dessus sont tous définis sur la base de vrais.
Définissez deux fichiers say et user
Le fichier say déclare une classe Say et définit une méthode hello
Maintenant, lorsque nous arrivons au fichier utilisateur, nous devons d'abord définir une méthode de chargement automatique, puis utiliser spl_autoload_register s'inscrire
Résultats des données imprimées
❝La persévérance dans l'apprentissage, la persévérance dans les blogs et la persévérance dans le partage sont ce que Kaka a toujours respecté depuis sa création. J'espère que les articles de Kaka sur le grand Internet pourront vous apporter un peu d'aide.
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!