第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

/**

 * 獲取控制器下的所有的控制器類名稱和控制器類中的所有的方法

 * @param  string $path  控制器的存放路徑

 * @return array

 */

function  getControllerClassFunction($path="./libs/Controller/"){

//設(shè)置加載的文件拓展名

spl_autoload_extensions('.class.php');

//加載控制器目錄下的所有類

set_include_path(get_include_path().PATH_SEPARATOR.$path);

//設(shè)置為自動(dòng)加載文件

spl_autoload_register();

$handle=opendir($path);

$arr['function']=array();

$arr['file']=array();

//讀取控制器目錄下面的所有控制器文件,并將每一個(gè)控制器類的名稱和類里面的方法放進(jìn)數(shù)組$arr中

while(($file=readdir($handle))!==false){

if(!($file=='.'||$file=='..')){

//將文件名稱分割便于獲取控制器名

$file=explode("Controller", $file);

//獲取控制器文件下的類名

$filename = $file[0].'Controller';

//獲取該類下面的所有的函數(shù)名稱

$funcs=get_class_methods($filename);

for($i=0;$i<count($funcs);$i++){

//將重復(fù)的方法名去掉

if(!(in_array($funcs[$i], $arr['method'])))

//將類中的不重復(fù)的方法名稱放進(jìn)數(shù)組中

$arr['method'][]=$funcs[$i];

}

//將控制器名稱放入數(shù)組中(只是放入控制器文件Controller前面的字段)

$file=$file[0];

$arr['file'][]=$file;

}

}

return $arr;

}

//這是我寫的一個(gè)關(guān)于如何讀取控制器下面所有的類名稱和里面的方法的函數(shù)

//便于我們?cè)趇ndex.php中判斷前端傳過(guò)來(lái)的控制器方法 或 控制器是否存在

//希望大家給我驗(yàn)證一下,看行不行,謝謝大家啦!

正在回答

1 回答

已經(jīng)測(cè)試了,是可以的。

使用了自動(dòng)載入類的函數(shù),這點(diǎn)很好。

但是這樣就會(huì)批量include所有的控制器文件了,會(huì)損耗一些性能。


0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

DekingChen 提問(wèn)者

非常感謝!
2014-12-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
MVC架構(gòu)模式分析與設(shè)計(jì)
  • 參與學(xué)習(xí)       82438    人
  • 解答問(wèn)題       954    個(gè)

通過(guò)學(xué)習(xí)MVC理論知識(shí),由淺入深帶您實(shí)現(xiàn)人生第一個(gè)MVC框架

進(jìn)入課程
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)