Maison > Article > développement back-end > Explication détaillée de l'instance de la méthode magique __autoload() (tutoriel avancé orienté objet php)
Lors de l'écriture de code, nous rencontrons souvent un casse-tête, qui consiste à introduire de nombreuses classes dans une page, et nous devons utiliser la fonction include_once ou require_once() pour les introduire une par une. Lorsque le contenu importé n'est pas important, cela reste acceptable, mais s'il y a une douzaine ou des dizaines de fichiers à importer, le nombre d'opérations sera important, sans parler d'irritant, et il y aura des cas d'introduction répétée. ou oublier de citer.
Maintenant en PHP5, nous pouvons utiliser la méthode __autoload() pour résoudre ce problème. La méthode __autoload() peut automatiquement instancier les classes qui doivent être utilisées. Lorsqu'un programme utilise une classe mais que la classe n'a pas été instanciée, PHP5 appellera la méthode __autoload() pour rechercher automatiquement les fichiers portant le même nom que la classe dans le chemin spécifié. S'il est trouvé, le programme continue son exécution ; sinon, une erreur est signalée.
Remarque :
Toutes les autres méthodes doivent être ajoutées à l'intérieur de la classe pour fonctionner. __autoload() est la seule méthode qui n'est pas ajoutée dans la classe
Tant qu'elle est est ajouté à l'intérieur de la classe Lorsqu'une classe est utilisée dans la page, le nom de la classe sera automatiquement passé à ce paramètre.
Par exemple :
Le code du fichier classe sport.class.php :
<?php class Sport{ private $type; public function __construct($type){ $this->type = $type; } public function __toString(){ return $this->type; } } ?>
Le code sous le fichier index.php :
<?php function __autoload($class_name){ //创建__autoload方法 $class_path = $class_name . '.class.php'; //类文件路径 if(file_exists($class_path)){ //判断文件是否存在 include_once($class_path); //动态引入文件 }else echo '类路径错误'; } $sport = new Sport('打篮球'); echo $sport; ?>
Créez d'abord la classe dans le fichier de classe sport.class.php, mais ne l'instancier pas. Introduisez ensuite les classes du fichier class dans le fichier php index.php.
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!