Objectif: Pour apprendre à utiliser n'importe quelle instance de classe sans inclure le fichier de classe. Généralement, si nous voulons utiliser l'instance d'une classe, nous devons d'abord inclure le fichier de classe par l'une des fonctions 4:
- comprendre
- include_once
- exiger
- Demandez une fois
Comme ci-dessous,
// inclus toutes les classes require "classes / Testing1.php"; require "classes / Testing2.php"; // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;
Mais s'il y a beaucoup de classes que nous voulons utiliser, nous devrons inclure tous les fichiers pour pouvoir créer l'instance de la classe. Supposons que s'il y a des centaines de classes, nous devrons toutes les inclure et cela prendra beaucoup de temps et d'espace. Pour surmonter cela, nous pouvons utiliser le code ci-dessous:
function auto_loader ($ class) {$ file = "classes / {$ class} .php"; // chemin de toutes les classes // ceci vérifiera s'il existe un fichier if (is_file ($ file)) {// si finalement le fichier existe, il inclura le fichier include $ file; }} // Pour inscrire auto_loader () pour appeler cette fonction séquentiellement lorsqu'une nouvelle classe est déclarée spl_autoload_register ("auto_loader"); // utilise maintenant les fonctionnalités de la classe $ testing1 = new Testing1; echo $ testing1-> a; $ testing2 = new Testing2; echo $ testing2-> a;
En utilisant le code ci-dessus, la classe requise sera automatiquement incluse lors de l'utilisation de la classe. Il n'inclura pas d'autres classes qui ne sont pas nécessaires. Structure du fichier:
classes index.php / Testing1.php classes / Testing2.php