Pengaturcaraan PHP moden menggunakan teknik autoloading untuk meringankan beban memasukkan berbilang fail secara manual. Walaupun __autoload telah menjadi pilihan popular pada masa lalu, manual PHP kini mencadangkan penggunaan spl_autoload_register sebagai alternatif yang lebih serba boleh kerana penamatannya yang akan berlaku.
spl_autoload_register membolehkan pembangun mendaftarkan berbilang autoload_register fungsi, yang PHP akan memanggil secara berurutan apabila kelas baru diisytiharkan. Setiap fungsi ini boleh mengandungi logik untuk menentukan lokasi dan memasukkan fail kelas yang sepadan.
Pertimbangkan contoh berikut:
spl_autoload_register('myAutoloader'); function myAutoloader($className) { $path = '/path/to/class/'; include $path.$className.'.php'; } //------------------------------------- $myClass = new MyClass();
Dalam contoh ini, "MyClass" ialah kelas yang sedang digunakan . spl_autoload_register memanggil fungsi myAutoloader, memberikannya nama "MyClass" sebagai rentetan. Fungsi kemudian menggunakan rentetan ini untuk membina laluan ke fail kelas yang sepadan dan memasukkannya. Ini menghapuskan keperluan untuk memasukkan atau memerlukan pernyataan eksplisit semasa mengisytiharkan kelas baharu.
Berbanding dengan __autoload, spl_autoload_register menawarkan beberapa kelebihan:
Atas ialah kandungan terperinci Bagaimanakah `spl_autoload_register` bertambah baik apabila `__autoload` dalam PHP Autoloading?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!