PHP中類的自動(dòng)加載的方法
類的自動(dòng)加載是指,在外面的頁面中,并不需要去“引入”類文件,但是程序會(huì)在需要的時(shí)候動(dòng)態(tài)加載需要的類文件。
方法1:使用__autoload魔術(shù)函數(shù)
當(dāng)程序需要某個(gè)類時(shí),就會(huì)去調(diào)用該函數(shù),該函數(shù)我們需要自己去定義并在其中寫好加載類文件的通用語句。
<?php
//需要類是自動(dòng)調(diào)用,而且會(huì)傳進(jìn)來一個(gè)類名,這個(gè)案例的文件名為21A.class.php,類名為A
function __autoload($className){
require "./21".$className.".class.php";
}
$o1 = new A();
$o1->v1 = 10;
echo "<br/>v1:".$o1->v1;
?>
方法2:使用spl_autoload_register函數(shù)
該函數(shù)的作用是生命多個(gè)可以用來代替autoload函數(shù)作用的函數(shù),語法如下:spl_autoload_regist("函數(shù)名1");如果用spl_autoload_register,autoload就失效了。
<?php
//注冊(cè)兩個(gè)用于自動(dòng)加載的函數(shù)名
spl_autoload_register('auto1');
spl_autoload_register('auto2');
function auto1($className){
$file = "./21".$className.".class.php";
if(file_exists($file)){
require "./21".$className.".class.php";
}
}
function auto1($className){
$file = "./22".$className.".class.php";
if(file_exists($file)){
require "./22".$className.".class.php";
}
}
//如果需要一個(gè)雷,但這個(gè)頁面還沒有記載,就會(huì)依次調(diào)用auto1和auto2,知道找到該類文件并加載
?>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP命名空間和自動(dòng)加載類
- PHP實(shí)現(xiàn)的簡(jiǎn)單路由和類自動(dòng)加載功能
- PHP命名空間與自動(dòng)加載類詳解
- 解析php類的注冊(cè)與自動(dòng)加載
- php _autoload自動(dòng)加載類與機(jī)制分析
- php類的自動(dòng)加載操作實(shí)例詳解
- php類自動(dòng)加載器實(shí)現(xiàn)方法
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之命名空間與自動(dòng)加載類詳解
- PHP類的自動(dòng)加載機(jī)制實(shí)現(xiàn)方法分析
- PHP MVC框架中類的自動(dòng)加載機(jī)制實(shí)例分析
- PHP命名空間(Namespace)的使用詳解
- PHP類的自動(dòng)加載與命名空間用法實(shí)例分析
相關(guān)文章
php微信公眾號(hào)開發(fā)(2)百度BAE搭建和數(shù)據(jù)庫使用
這篇文章主要介紹了php微信公眾號(hào)開發(fā)第二課,百度BAE搭建和數(shù)據(jù)庫使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
php結(jié)合ajax實(shí)現(xiàn)手機(jī)發(fā)紅包的案例
發(fā)紅包功能,當(dāng)我們輸入紅包數(shù)量和總金額后,PHP會(huì)根據(jù)這兩個(gè)值進(jìn)行隨機(jī)分配每個(gè)金額,保證每個(gè)人都能領(lǐng)取到一個(gè)紅包,每個(gè)紅包金額不等,就是要求紅包金額要有差異,所有紅包金額總額應(yīng)該等于總金額。2016-10-10

