Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apa yang perlu dilakukan jika php __autoload gagal

Apa yang perlu dilakukan jika php __autoload gagal

藏色散人
藏色散人asal
2021-09-14 10:43:192431semak imbas

php __autoload gagal kerana fungsi spl_autoload_register menggantikan fungsi __autoload dalam Enjin Zend dengan spl_autoload Penyelesaiannya adalah untuk mendaftar semula fungsi __autoload.

Apa yang perlu dilakukan jika php __autoload gagal

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn