Grund für den Ausfall der PHP-Funktion __autoload (im Zusammenhang mit Smarty)

WBOY
Freigeben: 2016-07-29 09:16:12
Original
1053 Leute haben es durchsucht

Die PHP-Funktion __autoload kann ein einfaches automatisches Laden erreichen, aber nach der Einführung von Smarty wurde festgestellt, dass die Funktion __autoload ungültig war. Später wurde festgestellt, dass der Grund die Funktion spl_autoload_register war.

Führen Sie den folgenden Code aus:

function __autoload($name)
{
	require 'class/'.$name.'.php';
	echo '1';
}
function autoload_test($name)
{
	echo '2';
}
spl_autoload_register('autoload_test');
$ca=new Ca();
Nach dem Login kopieren

Das Ergebnis ist Ausgabe 2. Sie können sehen, dass die Funktion __autoload nicht ausgeführt wurde: Wenn ja Wurde die Funktion __autoload() in Ihrem Programm implementiert, muss sie explizit in der Warteschlange __autoload() registriert werden. Denn die Funktion spl_autoload_register() ersetzt die Funktion __autoload() in Zend Engine durch spl_autoload() oder spl_autoload_call().

Damit der Code ordnungsgemäß funktioniert, sollte die __autoload-Funktion neu registriert werden:

function __autoload($name)
{
	require 'class/'.$name.'.php';
	echo '1';
}
function autoload_test($name)
{
	echo '2';
}
spl_autoload_register('autoload_test');
spl_autoload_register('__autoload');
$ca=new Ca();
Nach dem Login kopieren

Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers. Eine Vervielfältigung ist ohne die Erlaubnis des Bloggers nicht gestattet.

Das Obige stellt die Gründe für den Ausfall der PHP-Funktion __autoload (im Zusammenhang mit Smarty) vor, einschließlich der relevanten Inhalte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!