Maison > développement back-end > tutoriel php > Analyse d'instance de chargement automatique de classe en PHP

Analyse d'instance de chargement automatique de classe en PHP

小云云
Libérer: 2023-03-22 20:26:02
original
1324 Les gens l'ont consulté

Lorsque vous devez utiliser du code PHP dans un autre fichier PHP, vous pouvez utiliser include, include_once, require et require_once pour introduire des fichiers de classe. La différence entre require et include réside dans la rigueur de la syntaxe : lorsqu'une erreur se produit dans le fichier importé, une erreur sera signalée en utilisant la syntaxe include, mais les instructions suivantes continueront à s'exécuter. require arrêtera l’exécution après qu’une erreur se produise.

La différence entre include et include_once est que lorsque include est utilisé, il sera importé une fois lorsqu'il existe, tandis que include_once ne sera importé qu'une seule fois lorsque le même fichier est importé.

Généralement, étant donné qu'un grand nombre de fichiers importés peuvent être inclus en cours d'utilisation, un grand nombre d'instructions include/require doivent être écrites. C'est extrêmement gênant. Dans cette situation, vous pouvez utiliser le chargement automatique.

1. Utilisez la fonction magique __autoload() :

Lorsque le programme "nécessite une classe", le système appellera automatiquement cette fonction, qui doit être définie par nous-mêmes :

function __autoload($className){
	require "需要引入文件的路径(不包含文件名)".$className.".php";
}
Copier après la connexion

La variable $className est le nom de classe transmis lorsque la fonction est automatiquement appelée.

2. Utilisez la fonction spl_autoload_register() :

Utilisez-la pour déclarer plusieurs fonctions __autoload(),

spl_autoload_register("Nom de la fonction 1" );

spl_autoload_register("Nom de la fonction 2"); ............ Cette fonction est en fait la même que __autoload(); 🎜>

La différence entre spl_autoload_register() et __autoload() est que spl_autoload_register() peut importer différents fichiers à partir de différents chemins de fichiers. Et lorsque spl_autoload_register() est enregistré dans le fichier, la méthode __autoload() est automatiquement invalide.
//此处声明三个自动加载函数名,
spl_autoload_register('auto1');
spl_autoload_register('auto2');
spl_autoload_register('auto2');
//接下来需要定义所声明的函数。
function auto1($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
function auto2($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
function auto2($className){
	$file="文件路径".$className.".php";
	if(file_exists($file)){
		require $file;
	}
}
Copier après la connexion
在使用该方法时,需要类时,会按照声明的顺序先从auto1()调用,如果有的话就引入,如果不存在,就到下一个函数调用......
Copier après la connexion
Recommandations associées :

PHP implémente la fonction de chargement automatique

PHP implémente le routage et le chargement automatique des classes

PHP implémente le chargement automatique des fonctions associées

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