Explication détaillée de l'instance de la méthode magique __autoload() (tutoriel avancé orienté objet php)

巴扎黑
Libérer: 2023-03-07 14:56:02
original
2221 Les gens l'ont consulté

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;
}
}
?>
Copier après la connexion

Le code sous le fichier index.php :

<?php
function __autoload($class_name){                                         //创建__autoload方法
$class_path = $class_name . &#39;.class.php&#39;;                           //类文件路径
if(file_exists($class_path)){                                                  //判断文件是否存在
include_once($class_path);                                          //动态引入文件
}else
echo &#39;类路径错误&#39;;
}
$sport = new Sport(&#39;打篮球&#39;);
echo $sport;
?>
Copier après la connexion

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!