Heim > Artikel > Backend-Entwicklung > Detaillierte Beispiele für zwei Implementierungsmethoden für das automatische Laden von PHP
Es gibt zwei Implementierungsmethoden für
php, um automatisch zu laden. Freunde in Not können darauf verweisen.
Es gibt zwei Möglichkeiten, PHP automatisch zu laden.
Die erste Option ist die Verwendung von Autoload.
Ein Problem wurde jedoch nicht gelöst ob die Datei bereits vorhanden ist,
set_include_path('aa' . PATH_SEPARATOR . get_include_path()); function autoload($className) { //如果加这个检测, 因为此文件不在当前目录下,它就会检测不到文件存在, //但include是能成功的 if (file_exists($className . '.php')) { include_once($className . '.php'); } else { exit('no file'); } } $a = new Acls();
Die zweite Option verwendet spl, um dies im Detail zu besprechen
spl_autoload_register()
Ein einfaches Beispiel 🎜>
set_include_path('aa' . PATH_SEPARATOR . get_include_path()); //function autoload($className) //{ // if (file_exists($className . '.php')) { // include_once($className . '.php'); // } else { // exit('no file'); // } //} spl_autoload_register(); $a = new Acls();in Wenn Sie sie nicht finden können, können Sie auch danach suchen, indem Sie
selbst eine Funktion
definieren, z. B. Funktionslader1($class) {
//Schreiben Sie selbst einen Ladecode
}
Funktion Loader2($class)
{
//Wenn Loader1() nicht gefunden werden kann, suche ich ihn
}
spl_autoload_register('loader1');
spl_autoload_register('loader2');
Sie können mehr tun...
Wie implementiert das MVC-Framework das automatische Laden?
'include' => array( 'application/catalog/controllers', 'application/catalog/models', ),$include = array('application/controllers', 'application/models', 'application/library');
set_include_path(get_include_path() . PATH_SEPARATOR .implode(PATH_SEPARATOR, $config['include']));
Nachdem Sie die URL erhalten haben, analysieren Sie den Controller und die Methode
Dann richten Sie das automatische Laden ein
Der Code lautet wie folgt:
Route, instanziiere den Controller, rufe die Methode auf und was du schreibst, wird ausgeführt
class Loader { /** * 自动加载类 * @param $class 类名 */ public static function autoload($class) { $path = ''; $path = str_replace('_', '/', $class) . '.php'; include_once($path); } } /** * sql自动加载 */ spl_autoload_register(array('Loader', 'autoload'));
Der Code lautet wie folgt:
Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele für zwei Implementierungsmethoden für das automatische Laden von PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!