Detaillierte Erläuterung des automatischen Ladens von PHP-Beispielen für PHP-Dateien

jacklove
Freigeben: 2023-04-01 22:14:02
Original
1527 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die relevanten Wissenspunkte und die detaillierte Verwendung des automatischen Ladens von PHP-Dateien vorgestellt. Freunde, die dies benötigen, können darauf zurückgreifen.

Traditionell müssen wir in PHP, wenn wir eine Klassendatei verwenden möchten, diese am Kopf des Dokuments anfordern oder einfügen:

<?php
require_once(&#39;../includes/functions.php&#39;);
require_once(&#39;../includes/database.php&#39;);
require_once(&#39;../includes/user.php&#39;);
...
Nach dem Login kopieren

Aber wenn zu viele Dokumente aufgerufen werden müssen, muss man jedes Mal eine Zeile schreiben, was nicht gut aussieht. Gibt es eine Möglichkeit, PHP-Dokumente automatisch laden zu lassen?

<?php
function __autoload($class_name)
{
  require "./{$class_name}.php";
}
Nach dem Login kopieren

Ja, Sie können die magische Funktion __autoload() von PHP verwenden. Das obige Beispiel dient zum automatischen Laden der PHP-Datei im aktuellen Verzeichnis. In der Praxis verwenden wir es natürlich eher so:

<?php
function __autoload($class_name)
{
  $name = strtolower($class_name);
  $path = "../includes/{$name}.php";
  
  if(file_exists($path)){
     require_once($path);
    }else{
      die("the file {$class_name} could not be found");
    }
}
Nach dem Login kopieren

, das heißt, wir führen eine bestimmte Fallverarbeitung des Dateinamens durch. Überprüfen Sie es dann, bevor Sie require Ob die Datei vorhanden ist. Wenn nicht, werden benutzerdefinierte Informationen angezeigt.

Eine ähnliche Verwendung findet man häufig in privaten Projekten oder im Rahmen eines einzelnen Projekts. Da Sie bei der Mehrpersonenentwicklung nur eine __autoload-Funktion definieren können, ist es für verschiedene Entwickler unmöglich, unterschiedliche benutzerdefinierte Autoloader zu verwenden, es sei denn, jeder hat im Voraus zugestimmt, einen __autoload zu verwenden, und die damit verbundene Versionssynchronisierung ist problematisch.

Vor allem aus diesem Grund ist die gute Nachricht, dass die __autoload-Funktion in Version 7.2 von PHP bald veraltet sein wird.

Warnung: Diese Funktion ist seit PHP 7.2.0 veraltet. Es wird dringend davon abgeraten, sich auf diese Funktion zu verlassen.
Dann wird sie durch etwas namens spl_autoload_register() ersetzt, das den Vorteil hat, dass es anpassbar ist. Mehrere Autoloader 🎜>

//使用匿名函数来autoload
spl_autoload_register(function($class_name){
  require_once(&#39;...&#39;);
});
Nach dem Login kopieren

Es ist erwähnenswert, dass die Verwendung von Autoload, egal ob __autoload() oder spl_autoload_register(), im Vergleich zu require oder include darin besteht, dass der Autoload-Mechanismus ein verzögertes Laden ist Es ist nicht so, dass alle diese Dateien für Sie aufgerufen werden, sobald Sie es ausführen, sondern nur diejenigen, die Sie verwenden, z. B. welche Dateien neu sind, und die entsprechenden Dateien werden über den Autoload-Mechanismus geladen.

Natürlich wird spl_autoload_register oft in Laravel verwendet, einschließlich verschiedener Pakete, wie zum Beispiel hier:

//使用一个全局函数
function Custom()
{
  require_once(&#39;...&#39;);
}

spl_autoload_register(&#39;Custom&#39;);
Nach dem Login kopieren

Verwandte Empfehlungen:

Detaillierte Erläuterung der PHP-Kenntnisse bei der Verwendung von mb_strpos in PHP

Detaillierte Erläuterung der Methode zur Verwendung der zlib-Erweiterung zur Erzielung einer GZIP-Komprimierungsausgabe in PHP

Detaillierte Erklärung, wie PHP verteilten Memcache implementiert, um die Web-Cluster-Sitzungssynchronisierung einzurichten


Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des automatischen Ladens von PHP-Beispielen für PHP-Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage