php自动加载autoload机制示例分享_PHP
1,自定义函数
2,spl_autoload_register()
复制代码 代码如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ ll ./*
-rw-rw-r-- 1 liuyuan liuyuan 800 Feb 19 11:39 ./func_autoload.php
-rw-rw-r-- 1 liuyuan liuyuan 906 Feb 19 11:28 ./spl_autoload.php
./include:
total 16
drwxrwxr-x 2 liuyuan liuyuan 4096 Feb 19 11:42 ./
drwxrwxr-x 3 liuyuan liuyuan 4096 Feb 19 11:43 ../
-rw-rw-r-- 1 liuyuan liuyuan 142 Feb 19 11:42 aClass.php
-rw-rw-r-- 1 liuyuan liuyuan 143 Feb 19 11:42 bClass.php
首先看自定义函数方式:
复制代码 代码如下:
define('EOL', (PHP_SAPI == 'cli') ? PHP_EOL : ' br>');
print_r(get_included_files());
echo EOL;
print get_include_path();
echo EOL;
//set_include_path(get_include_path().PATH_SEPARATOR.'/var/www/ly_php/php_spl/include/');
//set_include_path(dirname(__FILE__).'/include');
//set_include_path(dirname(__FILE__).'/include/');
function __autoload($className){
$filename = './include/'.$className.'.php';
//$filename = './include/'.$className.'.php';
//$filename = '/var/www/ly_php/php_spl/include/'.$className.'.php';
if(file_exists($filename)){
include_once $filename;
}else{
exit('no file');
}
}
$a = new aClass();
$b = new bClass();
print_r(get_included_files());
?>
运行结果如下:
复制代码 代码如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php func_autoload.php
Array
(
[0] => /var/www/phpgcs/php_autoload/func_autoload.php
)
.:/usr/share/php:/usr/share/pear
aClass is loaded
bClass is loaded
Array
(
[0] => /var/www/phpgcs/php_autoload/func_autoload.php
[1] => /var/www/phpgcs/php_autoload/include/aClass.php
[2] => /var/www/phpgcs/php_autoload/include/bClass.php
)
第二种方式:
复制代码 代码如下:
class myLoader{
public static function autoload($className){
$filename = './include/'.$className.'.php';
if(file_exists($filename)){
include_once $filename;
}else{
exit('no file');
}
}
}
define('EOL', (PHP_SAPI == 'cli') ? PHP_EOL : '
');
spl_autoload_register(array('myLoader', 'autoload'));
/**
*__autoload 方法在 spl_autoload_register 后会失效,因为 autoload_func 函数指针已指向 spl_autoload 方法
* 可以通过下面的方法来把 _autoload 方法加入 autoload_functions list
*/
//spl_autoload_register( '__autoload' );
error_reporting(E_ALL^E_NOTICE^E_WARNING^E_ERROR);
error_reporting(E_NOTICE | E_WARNING );
$a = new aClass();
print_r(get_included_files());
echo EOL;
$b = new bClass();
echo EOL;
?>
运行结果如下:
复制代码 代码如下:
liuyuan@ebuinfo:/var/www/phpgcs/php_autoload$ php spl_autoload.php
aClass is loaded
Array
(
[0] => /var/www/phpgcs/php_autoload/spl_autoload.php
[1] => /var/www/phpgcs/php_autoload/include/aClass.php
)
bClass is loaded

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila bahasa PHP menjadi semakin popular, pembangun perlu menggunakan lebih banyak kelas dan fungsi. Apabila projek berkembang dalam saiz, memperkenalkan semua kebergantungan secara manual menjadi tidak praktikal. Pada masa ini, mekanisme pemuatan automatik diperlukan untuk memudahkan proses pembangunan dan penyelenggaraan kod. Mekanisme pemuatan automatik ialah ciri bahasa PHP yang boleh memuatkan kelas dan antara muka yang diperlukan secara automatik pada masa jalan dan mengurangkan pengenalan fail kelas manual. Dengan cara ini, pengaturcara boleh menumpukan pada membangunkan kod dan mengurangkan ralat dan pembaziran masa yang disebabkan oleh pengenalan kelas manual yang membosankan. Dalam PHP, secara amnya

Bagaimanakah JavaScript boleh mencapai penskalaan automatik kandungan apabila menatal ke bahagian bawah halaman dan mengekalkan kesan nisbah aspek? Dalam reka bentuk web moden, menatal ke bahagian bawah halaman untuk memuatkan lebih banyak kandungan secara automatik telah menjadi keperluan ciri biasa. Apabila kandungan yang dimuatkan mengandungi imej, kami selalunya mahu imej ini mengekalkan nisbah aspek asalnya. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi ini dan menyediakan contoh kod yang sepadan untuk rujukan. Pertama, kita perlu mendapatkan kedudukan tatal halaman. dalamJavaScr

Komposer ialah alat pengurusan pergantungan yang sangat popular dalam PHP. Ia boleh membantu kami mengurus perpustakaan dan komponen pihak ketiga yang diperlukan dalam projek dan memuatkan perpustakaan dan komponen ini secara automatik. Artikel ini akan memperkenalkan cara menggunakan Komposer untuk memuatkan automatik dalam PHP. Pasang Komposer Mula-mula, anda perlu memasang Komposer. Anda boleh memuat turun versi terkini Komposer di https://getcomposer.org/download/ dan memasangnya. InitializeComp

Pengenalan kepada PHP Autoloading PHP autoloading ialah mekanisme yang membolehkan PHP memuatkan kelas secara automatik apabila diperlukan tanpa memasukkan fail secara manual. Ini sangat memudahkan pembangunan aplikasi besar dan meningkatkan kebolehselenggaraan kod. Ruang Nama dan Ruang Nama Muat Auto dalam PHP digunakan untuk menyusun kod. Apabila kelas yang diisytiharkan menggunakan ruang nama perlu dimuatkan, PHP akan melaksanakan proses pemuatan automatik. Autoloader bertanggungjawab untuk mencari dan memuatkan fail kelas yang sepadan berdasarkan ruang nama dan nama kelas. Pemuatan automatik menggunakan Composer Composer ialah alat standard dalam komuniti PHP untuk pengurusan pergantungan dan pemuatan automatik. Selepas memasang Komposer, anda boleh mengkonfigurasi autoloading menggunakan langkah berikut: //composer.JSO

Bagaimanakah JavaScript mencapai kesan pudar dalam memuatkan kandungan secara automatik selepas menatal ke bahagian bawah halaman? Dalam reka bentuk web moden, adalah keperluan biasa untuk menatal ke bahagian bawah halaman untuk memuatkan kandungan secara automatik dengan kesan pudar. Artikel ini akan menggunakan JavaScript sebagai contoh untuk memperkenalkan cara mencapai kesan ini. Pertama, kita perlu menggunakan JavaScript untuk mendengar acara tatal halaman. Apabila menatal ke bahagian bawah halaman, kami akan mencetuskan fungsi yang memuatkan kandungan baharu. //Dengar tetingkap acara tatal halaman.addEv

Bagaimana untuk menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod? Abstrak: Dengan pelancaran PHP7, ruang nama dan mekanisme pemuatan automatik telah menjadi ciri penting yang tidak boleh diabaikan dalam pembangunan PHP. Artikel ini akan memperkenalkan cara menggunakan ruang nama PHP7 dan mekanisme pemuatan automatik untuk mengatur struktur kod, dan menggambarkannya melalui contoh kod tertentu. 1. Apakah ruang nama? Ruang nama ialah mekanisme yang diperkenalkan dalam PHP7 untuk menyelesaikan konflik penamaan yang mungkin berlaku antara perpustakaan kelas atau fail kod yang berbeza. melalui ruang nama

Bagaimanakah JavaScript mencapai kesan paparan kecerunan untuk memuatkan kandungan secara automatik apabila menatal ke bahagian bawah halaman? Dalam reka bentuk web moden, menatal ke bahagian bawah halaman untuk memuatkan kandungan secara automatik adalah keperluan biasa. Untuk meningkatkan pengalaman pengguna, kesan paparan kecerunan juga merupakan pilihan reka bentuk biasa. Jadi, bagaimana kita melaksanakannya dalam JavaScript? Langkah pelaksanaan khusus dan contoh kod diberikan di bawah. Idea utama untuk mencapai kesan ini adalah untuk memantau acara tatal halaman dan menentukan sama ada bahagian bawah halaman telah dicapai berdasarkan kedudukan tatal.

Pemuatan automatik PHP ialah kaedah yang membolehkan PHP mencari dan mengimport kelas atau fail yang diperlukan secara automatik Ia melaksanakan mekanisme pemuatan automatik dengan menggunakan kaedah ajaib __autoload() atau fungsi spl_autoload_reGISter(), yang memudahkan pemuatan perpustakaan dan kelas cekap. Prinsip pemuatan automatik Pemuatan automatik PHP adalah berdasarkan prinsip berikut: PHP akan cuba memuatkan fail kelas atau fail fungsi yang sepadan berdasarkan nama kelas atau nama fungsi yang diberikan pada masa jalan. Jika pemuatan gagal, PHP akan cuba menggunakan fungsi atau kaedah autoload untuk mencari dan memuatkan fail kelas atau fail fungsi yang sepadan. Setelah fail kelas atau fail fungsi dimuatkan, PHP akan terus melaksanakan kod sebelum pemuatan gagal. Penggunaan pemuatan automatik Penggunaan pemuatan automatik
