CI框架中l(wèi)ibraries,helpers,hooks文件夾詳細說明
1.library文件夾
如果你想擴展CI的功能,那么就把你的類庫放在這,注意,這個文件夾是有class組成的,可以看看如果加載library注意事項!
2.helper文件夾
如果你需要使用一些函數(shù)來幫你完成一些小功能,那么就把它放著,這里都是過程式的代碼而不是類,一般helper是用于view的,
使用方法如下:
$this->load->helper('filename')
filename是輔助函數(shù)對應(yīng)的文件名,不包括_helper.php擴展名。文件名應(yīng)該保存為:filename_helper.php,放在helper文件夾下!
3.hooks文件夾
存放你創(chuàng)建的鉤子。鉤子是 用來裝載其它文件的控制方法,不能被控制器等調(diào)用,是系統(tǒng)自動調(diào)用的。當(dāng) CodeIgniter
運行后,它會產(chǎn)生出一個特殊的進程。
當(dāng)然,您可以自定義一些動作來替代程序運行過程中的某些階段。例如,您可以在控制器剛剛載入前或剛剛載入后來運行特定的腳本,或者在其他時刻來觸發(fā)您的腳本。
CI的七個掛載點:
pre_system
系統(tǒng)執(zhí)行的早期調(diào)用.僅僅在benchmark 和 hooks 類 加載完畢的時候. 沒有執(zhí)行路由或者其它的過程.
pre_controller
在調(diào)用你的任何控制器之前調(diào)用.此時所用的基礎(chǔ)類,路由選擇和安全性檢查都已完成.
post_controller_constructor
在你的控制器實例化之后,任何方法調(diào)用之前調(diào)用.
post_controller
在你的控制器完全運行之后調(diào)用.
display_override
覆蓋_display()函數(shù), 用來在系統(tǒng)執(zhí)行末尾向web瀏覽器發(fā)送最終頁面.這允許你用自己的方法來顯示.注意,你需要通過$this->CI =& get_instance()引用 CI 超級對象,然后這樣的最終數(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)于鉤子的使用,手冊上有詳細的使用說明,截圖如下:
相關(guān)文章
PC端微信掃碼支付成功之后自動跳轉(zhuǎn)php版代碼
這篇文章主要為大家詳細介紹了微信掃碼支付成功之后自動跳轉(zhuǎn)php版代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07Laravel獲取所有的數(shù)據(jù)庫表及結(jié)構(gòu)的方法
今天小編就為大家分享一篇Laravel獲取所有的數(shù)據(jù)庫表及結(jié)構(gòu)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實例對比
這篇文章主要介紹了php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實例對比,這個知識點是比較常用的,有需要的可以參考下2021-03-03codeigniter集成ucenter1.6雙向通信的解決辦法
用codeigniter開發(fā)一個子網(wǎng)站,之后想和原來的論壇進行同步,包括同步登陸和雙向通信。這篇文章主要介紹了codeigniter集成ucenter1.6雙向通信的解決辦法,需要的朋友可以參考下2014-06-06php寫一個函數(shù),實現(xiàn)掃描并打印出自定目錄下(含子目錄)所有jpg文件名
下面小編就為大家?guī)硪黄猵hp寫一個函數(shù),實現(xiàn)掃描并打印出自定目錄下(含子目錄)所有jpg文件名。2017-05-05