Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie das automatische Laden von Klassen in PHP

So implementieren Sie das automatische Laden von Klassen in PHP

藏色散人
藏色散人Original
2020-10-19 11:05:405374Durchsuche

So implementieren Sie das automatische Laden von Klassen in PHP: 1. Verwenden Sie die magische Funktion „__autoload“, um Klassen zu laden. 2. Verwenden Sie die Funktion „spl_autoload_register“, um die Autoload-Funktion zu ersetzen.

So implementieren Sie das automatische Laden von Klassen in PHP

Empfohlen: „PHP-Video-Tutorial

Das automatische Laden von Klassen bedeutet, dass keine Notwendigkeit besteht, Klassendateien in externen Seiten „einzuführen“, sondern das Programm lädt sie bei Bedarf dynamisch.

Methode 1: Verwenden Sie die magische Funktion __autoload

Wenn das Programm eine bestimmte Klasse benötigt, ruft es die Funktion selbst auf und schreibt eine allgemeine Anweisung zum Laden der Klassendatei darin.

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

Methode 2: Verwenden Sie die Funktion spl_autoload_register

Die Funktion dieser Funktion besteht darin, mehrere Funktionen zu erstellen, die zum Ersetzen der Autoload-Funktion verwendet werden können. Die Syntax lautet wie folgt: spl_autoload_regist("Funktion name 1"); bei Verwendung von spl_autoload_register ist Autoload ungültig.

<?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,知道找到该类文件并加载
  ?>

Das obige ist der detaillierte Inhalt vonSo implementieren Sie das automatische Laden von Klassen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn