1.library文件夾
如果你想擴(kuò)展CI的功能,那么就把你的類庫放在這,注意,這個(gè)文件夾是有class組成的,可以看看如果加載library注意事項(xiàng)!
2.helper文件夾
如果你需要使用一些函數(shù)來幫你完成一些小功能,那么就把它放著,這里都是過程式的代碼而不是類,一般helper是用于view的,
使用方法如下:
$this->load->helper('filename')
filename是輔助函數(shù)對(duì)應(yīng)的文件名,不包括_helper.php擴(kuò)展名。文件名應(yīng)該保存為:filename_helper.php,放在helper文件夾下!
3.hooks文件夾
存放你創(chuàng)建的鉤子。鉤子是 用來裝載其它文件的控制方法,不能被控制器等調(diào)用,是系統(tǒng)自動(dòng)調(diào)用的。當(dāng) CodeIgniter
運(yùn)行后,它會(huì)產(chǎn)生出一個(gè)特殊的進(jìn)程。
當(dāng)然,您可以自定義一些動(dòng)作來替代程序運(yùn)行過程中的某些階段。例如,您可以在控制器剛剛載入前或剛剛載入后來運(yùn)行特定的腳本,或者在其他時(shí)刻來觸發(fā)您的腳本。
CI的七個(gè)掛載點(diǎn):
pre_system
系統(tǒng)執(zhí)行的早期調(diào)用.僅僅在benchmark 和 hooks 類 加載完畢的時(shí)候. 沒有執(zhí)行路由或者其它的過程.
pre_controller
在調(diào)用你的任何控制器之前調(diào)用.此時(shí)所用的基礎(chǔ)類,路由選擇和安全性檢查都已完成.
post_controller_constructor
在你的控制器實(shí)例化之后,任何方法調(diào)用之前調(diào)用.
post_controller
在你的控制器完全運(yùn)行之后調(diào)用.
display_override
覆蓋_display()函數(shù), 用來在系統(tǒng)執(zhí)行末尾向web瀏覽器發(fā)送最終頁面.這允許你用自己的方法來顯示.注意,你需要通過$this->CI =& get_instance()引用 CI 超級(jí)對(duì)象,然后這樣的最終數(shù)據(jù)可以通過調(diào)用$this->CI->output->get_output()來獲得。
cache_override
可以讓你調(diào)用自己的函數(shù)來取代output類中的_display_cache()函數(shù).這可以讓你使用自己的緩存顯示方法
post_system
在最終著色頁面發(fā)送到瀏覽器之后,瀏覽器接收完最終數(shù)據(jù)的系統(tǒng)執(zhí)行末尾調(diào)用
關(guān)于鉤子的使用,手冊(cè)上有詳細(xì)的使用說明,截圖如下: