Heim >Backend-Entwicklung >PHP-Tutorial >Automatisches Laden von PHP-Klassen
Dieser Artikel stellt das automatische Laden von PHP-Klassen vor, das einen gewissen Referenzwert hat. Jetzt kann ich es mit allen teilen, die es brauchen.
Schreiben Sie zuerst eine HumanModel.php
class HumanModel { public function t() { echo '人类<br >'; } }
// =Beispiel= //
require('./HumanModel.php');$lisi = new HumanModel();$lisi->t(); // 人类
// =Automatisches Laden von Klassen= //
function __autoload($c) { echo '~~~~~~~~~',$c,'~~~~~~~~'; }$ming = new Dog();
// === Notizen Teil 1 ===
/*
Automatisches Laden von Klassen
Wenn eine nicht vorhandene Klasse aufgerufen wird,
Bevor wir einen Fehler melden, können wir auch die __autoload-Funktion Eine Interventionsmöglichkeit erhalten
und übergibt automatisch den „Klassennamen“ an die Funktion __autoload
function __autoload($c) { echo '我先自动加载'; echo './' . $c . '.php'; echo '<br >'; require('./' . $c . '.php'); }$lisi = new HumanModel();$lisi->t();// 我先自动加载./HumanModel.php// 人类function test() { // 函数内可以写任何合法的PHP代码,包含再声明一个函数/类 class Bird { public static function sing() { echo '百灵鸟放声歌唱!<br >'; } } }// 必须要调用函数然后才能执行内部test(); Bird::sing(); /* Bird::sing(); 未定义类 转到上面类的自动加载函数中,于是报错如下: Warning: require(./Bird.php): failed to open stream: No such file or directory 找不到Bird这个php */
/*
Antwort: Nein, Sie können tatsächlich eine Funktion angeben.
Verwenden Sie beispielsweise die Funktion zidongjiazai()
Hinweis: Wir müssen das System darüber informieren, dass wir ein automatisches Laden geschrieben haben method
Verwenden Sie die Systemfunktion spl_autoload_register, um*/
spl_autoload_register('zidongjiazai');function zidongjiazai($c) { require('./' . $c . '.php'); }$HumanModel = new HumanModel();$HumanModel->t();
Zuerst schreibe ein HumanModel.php
class HumanModel { public function t() { echo '人类<br >'; } }// =Zitat= //
require('./HumanModel.php');$lisi = new HumanModel();$lisi->t(); // 人类
function __autoload($c) { echo '~~~~~~~~~',$c,'~~~~~~~~'; }$ming = new Dog();
/*
Wenn eine nicht vorhandene Klasse aufgerufen wird,
Eine Interventionsmöglichkeit erhalten
Das System ruft die __autoload()-Funktion auf
Wir können die Anforderungen in der __autoload-Klasse laden
function __autoload($c) { echo '我先自动加载'; echo './' . $c . '.php'; echo '<br >'; require('./' . $c . '.php'); }$lisi = new HumanModel();$lisi->t();// 我先自动加载./HumanModel.php// 人类function test() { // 函数内可以写任何合法的PHP代码,包含再声明一个函数/类 class Bird { public static function sing() { echo '百灵鸟放声歌唱!<br >'; } } }// 必须要调用函数然后才能执行内部test(); Bird::sing(); /* Bird::sing(); 未定义类 转到上面类的自动加载函数中,于是报错如下: Warning: require(./Bird.php): failed to open stream: No such file or directory 找不到Bird这个php */
/*
Antwort: Nein, Sie können tatsächlich eine Funktion angeben.
Verwenden Sie beispielsweise die Funktion zidongjiazai()
Hinweis: Wir müssen das System darüber informieren, dass wir ein automatisches Laden geschrieben haben Methode
Verwenden Sie die Systemfunktion spl_autoload_register, um*/
spl_autoload_register('zidongjiazai');function zidongjiazai($c) { require('./' . $c . '.php'); }$HumanModel = new HumanModel();$HumanModel->t();
Verwandte Empfehlungen:
PHPs abstrakte Klasse
Das obige ist der detaillierte Inhalt vonAutomatisches Laden von PHP-Klassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!