Maison > développement back-end > tutoriel php > Explication détaillée de la façon d'utiliser spl_autoload_register pour implémenter le chargement automatique des instances

Explication détaillée de la façon d'utiliser spl_autoload_register pour implémenter le chargement automatique des instances

伊谢尔伦
Libérer: 2023-03-12 08:46:01
original
2805 Les gens l'ont consulté

spl_autoload_register()La fonction devrait être l'une des fonctions les plus utilisées et les plus essentielles du framework traditionnel. Elle peut réaliser l'enregistrement automatique des fonctions et des classes et implémenter des fonctions similaires. à la fonction autoload(). Elle simplifie l'appel et le chargement des classes et améliore l'efficacité du travail

Nous parlerons ici de certaines fonctionnalités de cette fonction à travers une expérience.

Prototype de fonction
bool spl_autoload_register ([ callback $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

Version compatible
PHP 5 > ;= 5.1.2

Processus expérimental
La première étape consiste à utiliser la fonction spl_autoload_register() pour enregistrer la méthode load()

Le code est le suivant :

<?php 
function load(){ 
require_once&#39;lib.php&#39;; 
} 
spl_autoload_register(&#39;load&#39;); 
?>
Copier après la connexion


Le code du fichier lib.php est le suivant

Le code est le suivant :

<?php 
class className{ 
function method(){ 
echo &#39;a method in class&#39;; 
} 
} 
function onlyMethod(){ 
echo &#39;method only&#39;; 
} 
?>
Copier après la connexion

Explication : Le lib.php file est une classe className et une fonction onlyMethod

La deuxième étape consiste à appeler la classe de chargement automatique

Le code est le suivant :

$class = new className(); 
$class->method(); 
onlyMethod();
Copier après la connexion

Sortie :

a method in class 
method only
Copier après la connexion

Instructions : Instanciez la classe className, appelez la fonction class method() et appelez la méthode onlyMethod() en même temps. et aucune erreur ne se produit

La troisième étape consiste à appeler la fonction directement

onlyMethod();
Copier après la connexion


Remarque : il n'y a pas de classe instanciée, appelez directement la fonction onlyMethod() dans le fichier lib.php
Sortie :
Erreur fatale : Appel à la fonction non définie onlyMethod() dans '...( Omettre le chemin)'

La quatrième étape, instancier la classe className, puis appeler directement

$class = new className(); 
onlyMethod();
Copier après la connexion

Sortie : méthode uniquement

De l'expérience en quatre étapes ci-dessus Il s'avère que si le fichier chargé contient une fonction, la classe à l'intérieur doit être instanciée lorsque en l'utilisant, sinon une erreur anormale d'appel à une fonction non définie se produira. Veuillez y prêter attention lorsque vous l'utilisez.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal