Funktionsname: spl_autoload_extensions ()
Anwendbare Version: Php 5> = 5.1.0, Php 7
Funktionsbeschreibung: Die Funktion SPL_AUTOLOAD_EXDEXTENS () wird verwendet, um die Dateierweiterung festzulegen oder abzurufen, mit der die Klasse automatisch geladen wird.
Verwendung:
Holen Sie sich die Dateierweiterung der aktuell autoladierenden Klasse fest:
$extensions = spl_autoload_extensions(); echo $extensions;
Legen Sie die Dateierweiterung für die automatische Ladeklasse fest:
spl_autoload_extensions(".php,.inc");
Beispiel: Angenommen, wir haben die folgende Verzeichnisstruktur:
Jetzt möchten wir diese Klassendateien automatisch laden. Wir können die Funktion SPL_AUTOLOAD_EXTERSS () verwenden, um die autoladierte Dateierweiterung auf ".php, .inc" festzulegen und dann die Funktion SPL_AUTOLOAD_register () zu verwenden, um eine benutzerdefinierte Autoloadfunktion zu registrieren.
// 设置自动加载类的文件扩展名spl_autoload_extensions(".php,.inc"); // 自定义自动加载函数function myAutoload($className) { $filename = __DIR__ . '/classes/' . $className . '.php'; if (file_exists($filename)) { include $filename; } } // 注册自动加载函数spl_autoload_register('myAutoload'); // 创建一个MyClass对象$obj = new MyClass();
Im obigen Beispiel verwenden wir zunächst spl_autoload_extensions (), um die autoladierte Dateierweiterung auf ".php, .inc" festzulegen. Anschließend wird eine automatische Ladefunktion namens MyAutoload definiert, die die entsprechende Klassendatei dynamisch entsprechend dem Klassennamen lädt. Schließlich registrieren wir die MyAutoload -Funktion als Autoloadfunktion über die Funktion spl_autoload_register (). Wenn wir ein MyClass -Objekt erstellen, lädt die automatische Ladefunktion die Datei myclass.php automatisch.
Hinweis: Die von spl_autoload_extensions () festgelegte Dateierweiterung ist global und wirkt sich auf alle Autoloadfunktionen aus.