php中使用__autoload()自動(dòng)加載未定義類的實(shí)現(xiàn)代碼
更新時(shí)間:2013年02月06日 17:27:59 作者:
當(dāng)PHP引擎遇到未實(shí)例化的類時(shí)就會(huì)觸發(fā)這個(gè)方法,當(dāng)然你的php代碼中要用到__autoload()才可以哦
下面是一段使用__autoload()的代碼,供大家學(xué)習(xí)參考:
復(fù)制代碼 代碼如下:
<?php
/**
* 自動(dòng)加載相關(guān)類庫文件
*/
function __autoload($classname){
if(substr($classname,-6)=="Action"){
include APP_PATH.'controllers/'.$classname.'.class.php';
}elseif(substr($classname, -5)=="Model"){
include APP_PATH.'models/'.$classname.'.class.php';
}elseif($classname=="Smarty"){
include SYSTEM_PATH.'smarty/Smarty.class.php';
}else{
include APP_PATH.'common/'.$classname.'.class.php';
}
}
?>
另一種包含路徑的方法:
復(fù)制代碼 代碼如下:
<?php
function __autoload($class_name) {
$path = str_replace('_', DIRECTORY_SEPARATOR, $class_name);
require_once $path.'.php';
}
?>
說明:將下劃線轉(zhuǎn)換為目錄分隔符(DIRECTORY_SEPARATOR),這樣做即可以有效管理庫文件,又解決了跨平臺(tái)的問題。
您可能感興趣的文章:
- PHP類的自動(dòng)加載機(jī)制實(shí)現(xiàn)方法分析
- PHP命名空間和自動(dòng)加載類
- php面向?qū)ο笕ヂ?(十七) 自動(dòng)加載類
- PHP中類的自動(dòng)加載的方法
- PHP實(shí)現(xiàn)的簡單路由和類自動(dòng)加載功能
- 解析php類的注冊與自動(dòng)加載
- php _autoload自動(dòng)加載類與機(jī)制分析
- php類的自動(dòng)加載操作實(shí)例詳解
- PHP框架自動(dòng)加載類文件原理詳解
- PHP命名空間與自動(dòng)加載類詳解
- php類自動(dòng)加載器實(shí)現(xiàn)方法
- PHP進(jìn)階學(xué)習(xí)之類的自動(dòng)加載機(jī)制原理分析
相關(guān)文章
PHP執(zhí)行zip與rar解壓縮方法實(shí)現(xiàn)代碼
PHP執(zhí)行zip與rar解壓縮方法 先放著,以后研究,有地方要用到。2010-12-12php+ajax實(shí)現(xiàn)文件切割上傳功能示例
這篇文章主要介紹了php+ajax實(shí)現(xiàn)文件切割上傳功能,結(jié)合實(shí)例形式分析了PHP結(jié)合HTML5 File對象的slice函數(shù)進(jìn)行文件切割與ajax無刷新上傳相關(guān)操作技巧,需要的朋友可以參考下2020-03-03php讀取二進(jìn)制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)的深入解析
本篇文章是對php讀取二進(jìn)制流(C語言結(jié)構(gòu)體struct數(shù)據(jù)文件)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06PHP Class&Object -- 解析PHP實(shí)現(xiàn)二叉樹
本篇文章是對PHP中二叉樹的實(shí)現(xiàn)代碼進(jìn)行詳細(xì)的分析介紹,需要的朋友參考下2013-06-06