Rumah > Artikel > pembangunan bahagian belakang > Apa yang perlu dilakukan jika php __autoload gagal
php __autoload gagal kerana fungsi spl_autoload_register menggantikan fungsi __autoload dalam Enjin Zend dengan spl_autoload Penyelesaiannya adalah untuk mendaftar semula fungsi __autoload.
Persekitaran pengendalian artikel ini: sistem windows7, versi PHP7.1, komputer DELL G3
Apakah yang perlu saya lakukan jika php __autoload gagal?
Sebab kegagalan fungsi PHP __autoload (berkaitan dengan smarty)
Fungsi PHP __autoload boleh mencapai pemuatan automatik yang mudah, tetapi Selepas memperkenalkan smarty, saya mendapati bahawa fungsi __autoload tidak sah Kemudian saya mendapati bahawa sebabnya ialah fungsi spl_autoload_register.
Lakukan kod berikut:
function __autoload($name) { require 'class/'.$name.'.php'; echo '1'; } function autoload_test($name) { echo '2'; } spl_autoload_register('autoload_test'); $ca=new Ca();
Hasil keluaran ialah 2. Anda boleh melihat bahawa fungsi __autoload belum dilaksanakan Analisis laman web rasmi ialah: Jika __autoload( telah dilaksanakan dalam program anda ) fungsi, ia mesti didaftarkan secara eksplisit ke baris gilir __autoload(). Kerana fungsi spl_autoload_register() akan menggantikan fungsi __autoload() dalam Enjin Zend dengan spl_autoload() atau spl_autoload_call().
Untuk membolehkan kod berfungsi dengan betul, fungsi __autoload hendaklah didaftarkan semula:
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();
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php __autoload gagal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!