Codeigniter 2.1 HMVC 實作
前言
HMVC不是什麼新東西,只是最近因為專案的需求,所以把原本的專案架構做了一些修改,導入了HMVC架構。何謂HMVC?可以直接看wiki的解釋:http://zh.wikipedia.org/wiki/HMVC
簡單來說,我給他的解釋就是模組化。
版本
以下是我實作的經驗,用的版本是wiredesignz的5.4版可以到官方的http://bitbucket.org下載最新的版本
而Codeigniter的版本是 2.1.0
實作
Step 1 - 解壓、複製檔案:
下載好HMVC的檔案後,直接解壓縮,裡面會有二個檔案夾:
- core
- third_party
把這二個檔案夾裡的檔案分別複製到Codeigniter資料夾的:
- Application/core
- Application/third_party
Step 2 - 修改config檔:
在Codeigniter裡的config/config.php的檔案裡,加入以下程式碼:
$config['modules_locations'] = array(
APPPATH.'modules/' => '../modules/',
);
Step 3 - 新增modules資料夾
在Application裡新增一個名為 modules 的資料夾,並且在裡面直接新增模組的資料夾,假設我要新增的模組叫news
那麼在Application/modules裡的應該會有以下資料夾:
-news這裡面的MVC的用法,就和原本的CI的Application一樣了
-controllers
-views
-models
要注意的有二點:
第一:要把在modules裡的controller的extend從CI_Controller改成MX_Controller
第二(重要):要呼叫模組的controllerd的extend從CI_Controller改成MX_Controller
否則會出現以下錯誤:
PHP Fatal error: Cannot redeclare class CI in ...application/third_party/MX/Base.php on line 57
舉例來說,如果我有在home的這個controller裡用到news模組,那麼我就要把home這個controller的 extend改成
class Home extends MX_Controller {
...
}
Step 4 - 測試:
當你在modules中建好mvc架構後,可以直接打網址
http://yoursite.com/index.php/{Module名稱}/{Controller名稱}/{Method名稱}
來測試你的HMVC架構是否有完成設定
若要在你的view中,直接呼叫模組,可以在你的view中直接插入以下語法
<? echo Modules::run( 'course_display/course_list/index' ); ?>
或是如果你要帶參數進模組,則可以使用
<? echo Modules::run( 'course_display/course_list/index','參數1','參數2' ); ?>
作者已經移除這則留言。
回覆刪除美女脫身高清,六間房大秀視頻,蜜桃色小說在線觀看
回覆刪除美女DJ視頻現場高清,免費同城約炮網,蜜桃色小說三級片
美女視頻高清播放,同城—夜情交友qq群,異界美女圖
美女真人舌吻教學視頻,同城—夜情交友,日韓網綜合電影
美女真人視頻斗地主,同城—夜情,成人性愛影片播放
美女真人斗地主視頻版,夫妻生活娛樂網,美女漏私人體圖片
誰有美女真人視頻的QQ號,性生活娛樂網,亞洲人體美女
美女真人視頻聊天看,夫妻生活輔助器,夫妻生活小百科
美女愛愛視頻真人,夫妻娛樂中文網,夫妻性生活顧問
69秀美女秀場,夫妻生活視頻曝光,美女黃色人體藝術圖片
真人美女視頻交友,性生活163性教育網,美女色情人體圖片