Maison >Java >JavaBase >Principe du chargement automatique en PHP et tutoriel d'utilisation de __autoload

Principe du chargement automatique en PHP et tutoriel d'utilisation de __autoload

王林
王林original
2019-11-13 17:32:412479parcourir

Principe du chargement automatique en PHP et tutoriel d'utilisation de __autoload

Principe du chargement automatique

Le principe du chargement automatique est que lorsque nous créons une nouvelle classe, si le système PHP ne trouve pas votre classe , la méthode __autoload($class_name) dans ce fichier sera automatiquement appelée et notre nouveau class_name deviendra le paramètre de cette méthode.

Ainsi, dans cette méthode, nous pouvons exiger le fichier de classe de chemin correspondant en fonction des différents jugements et divisions dont nous avons besoin d'un nouveau nom_classe pour réaliser le chargement automatique.

Tutoriel sur la façon d'utiliser __autoload :

Examinons étape par étape l'appel automatique de __autoload(). 🎜>

index.php

$db =new DB();

Si nous n'importons pas la classe DB manuellement, le programme peut signaler une erreur indiquant que cette classe est introuvable :

Fatal error: Class 'DB' not found in D:wampwwwtestphpautoloadindex.php on line 3

Ensuite, ajoutons maintenant la méthode __autoload() et jetons un œil :

$db =new DB();
function __autoload($className)
{
  echo $className;
  exit();
}

Selon la description du mécanisme de chargement automatique ci-dessus, ce qui sera généré après votre analyse ? C'est vrai : ce doit être la sortie : DB, qui est le nom de la classe dont nous avons besoin de nouveau. Par conséquent, à ce stade, nous pouvons charger le fichier de bibliothèque de classes selon les besoins dans la méthode __autoload().

index.php

$db =new DB();
function __autoload($className)
{
  require $className .'.php';
}

DB.php

class DB
{
  publicfunction __construct()
  {
      echo 'Hello DB';
  }
}

De cette façon, nous pouvons facilement ajouter notre Tous les classes qui doivent être nouvelles sont importées. De cette façon, nous pouvons facilement créer de nouvelles N classes, telles que :

<?php
function __autoload($className)
{
  require $className .&#39;.php&#39;;
}
$db =new DB();
$info =newInfo();
$gender =newGender();
$name =newName();
//也是支持静态方法直接调用的
Height::test();

Tutoriel recommandé :

Tutoriel 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!

Déclaration:
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