Maison >développement back-end >Problème PHP >Comment implémenter le chargement automatique des classes en php
Comment implémenter le chargement automatique des classes en PHP : 1. Utilisez la fonction magique "__autoload" pour charger les classes ; 2. Utilisez la fonction "spl_autoload_register" pour remplacer la fonction de chargement automatique.
Recommandé : "Tutoriel vidéo PHP"
Le chargement automatique des classes signifie que dans la page extérieure, il y a pas besoin d'"importer" des fichiers de classe, mais le programme chargera dynamiquement les fichiers de classe requis en cas de besoin.
Méthode 1 : utilisez la fonction magique __autoload
Lorsque le programme a besoin d'une certaine classe, il appellera cette fonction. Vous devez définir et écrire vous-même les instructions générales pour charger les fichiers de classe.
<?php //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A function __autoload($className){ require "./21".$className.".class.php"; } $o1 = new A(); $o1->v1 = 10; echo "<br/>v1:".$o1->v1; ?>
Méthode 2 : Utilisez la fonction spl_autoload_register
La fonction de cette fonction est pour avoir plus de vies Une fonction qui peut être utilisée pour remplacer la fonction autoload. La syntaxe est la suivante : spl_autoload_regist("function name 1"); si spl_autoload_register est utilisé, autoload sera invalide.
<?php //注册两个用于自动加载的函数名 spl_autoload_register('auto1'); spl_autoload_register('auto2'); function auto1($className){ $file = "./21".$className.".class.php"; if(file_exists($file)){ require "./21".$className.".class.php"; } } function auto1($className){ $file = "./22".$className.".class.php"; if(file_exists($file)){ require "./22".$className.".class.php"; } } //如果需要一个类,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载 ?>
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!