Maison > développement back-end > tutoriel php > Partagez deux méthodes pour implémenter le chargement automatique des classes en PHP

Partagez deux méthodes pour implémenter le chargement automatique des classes en PHP

黄舟
Libérer: 2023-03-06 18:02:02
original
1286 Les gens l'ont consulté

Cet article présente principalement la méthode de chargement automatique de la classe en PHP. Le chargement automatique des classes signifie qu'il n'est pas nécessaire « d'introduire » les fichiers de classe dans les pages externes, mais le programme chargera dynamiquement les fichiers de classe requis en cas de besoin.

Le chargement automatique des classes signifie qu'il n'est pas nécessaire "d'introduire" les fichiers de classe dans les pages externes, mais le programme chargera dynamiquement les fichiers de classe requis en cas de besoin.

Méthode 1 : Utilisez la fonction magique de chargement automatique

Lorsque le programme a besoin d'une certaine classe, il l'appellera Fonction, nous devons définir cette fonction nous-mêmes et écrire l'instruction générale pour y charger les fichiers de classe.

<?php
    //需要类是自动调用,而且会传进来一个类名,这个案例的文件名为21A.class.php,类名为A
     function autoload($className){
      require "./21".$className.".class.php";
    }
    $o1 = new A();
    $o1->v1 = 10;
    echo "<br/>v1:".$o1->v1;
  ?>
Copier après la connexion

Méthode 2 : Utilisez la fonction spl_autoload_register

La fonction de ceci function is Il existe plusieurs fonctions qui peuvent être utilisées pour remplacer la fonction de chargement automatique. La syntaxe est la suivante : spl_autoload_regist("function name 1"); si spl_autoload_register est utilisé, le chargement automatique ne sera pas valide.

<?php
    //注册两个用于自动加载的函数名
    spl_autoload_register(&#39;auto1&#39;);
    spl_autoload_register(&#39;auto2&#39;);
    function auto1($className){
      $file = "./21".$className.".class.php";
      if(file_exists($file)){
        require "./21".$className.".class.php";
      }
    }
    function auto1($className){
      $file = "./22".$className.".class.php";
      if(file_exists($file)){
        require "./22".$className.".class.php";
      }
    }
    //如果需要一个雷,但这个页面还没有记载,就会依次调用auto1和auto2,知道找到该类文件并加载
  ?>
Copier après la connexion

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