亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級(jí) 疑難解答 介紹 開(kāi)始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語(yǔ) 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫(kù) 創(chuàng)建你自己的類庫(kù) 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴(kuò)展框架的核心 自動(dòng)裝載資源 公共函數(shù) URI 路由 錯(cuò)誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運(yùn)行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語(yǔ)法 安全 開(kāi)發(fā)規(guī)范 類庫(kù)參考 基準(zhǔn)測(cè)試類 日歷類 購(gòu)物車(chē)類 配置類 Email 類 加密類 文件上傳類 表單驗(yàn)證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語(yǔ)言類 裝載類 遷移類 輸出類 分頁(yè)類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測(cè)試類 URI 類 User-Agent 類 表單驗(yàn)證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫(kù)類 Active Record 類 數(shù)據(jù)庫(kù)緩存類 自定義函數(shù)調(diào)用 數(shù)據(jù)庫(kù)配置 連接你的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)快速入門(mén)例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫(kù)維護(hù)類 查詢輔助函數(shù) 數(shù)據(jù)庫(kù)類 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫(kù)工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語(yǔ)言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
watak

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

鉤子 - 擴(kuò)展框架的核心

CodeIgniter 的鉤子功能使得您可以在不修改系統(tǒng)核心文件的基礎(chǔ)上來(lái)改變或增加系統(tǒng)的核心運(yùn)行功能。 當(dāng) CodeIgniter 運(yùn)行后,它會(huì)產(chǎn)生出一個(gè)特殊的進(jìn)程,這個(gè)進(jìn)程在 項(xiàng)目流程 頁(yè)面中有說(shuō)明。 當(dāng)然,您可以自定義一些動(dòng)作來(lái)替代程序運(yùn)行過(guò)程中的某些階段。例如,您可以在控制器剛剛載入前或剛剛載入后來(lái)運(yùn)行特定的腳本,或者在其他時(shí)刻來(lái)觸發(fā)您的腳本。

啟用鉤子

鉤子功能可以在全局范圍內(nèi)打開(kāi)或關(guān)閉,您可以在 application/config/config.php 文件中設(shè)定:

$config['enable_hooks'] = TRUE;

定義鉤子

鉤子是在 application/config/hooks.php 文件中定義的。 每個(gè)鉤子可以用以下格式的數(shù)組來(lái)定義:

$hook['pre_controller'] = array(
????????????????????????????????'class'????=> 'MyClass',
????????????????????????????????'function' => 'Myfunction',
????????????????????????????????'filename' => 'Myclass.php',
????????????????????????????????'filepath' => 'hooks',
????????????????????????????????'params'???=> array('beer', 'wine', 'snacks')
????????????????????????????????);

說(shuō)明:
數(shù)組的索引與你使用的指定掛鉤點(diǎn)名字相關(guān).上面的例子中掛鉤點(diǎn)是pre_controller. 掛鉤點(diǎn)參數(shù)列表如下所示. 以下各項(xiàng)將定義在你的相關(guān)鉤子數(shù)組里:

  • class? 你希望調(diào)用的類名.如果你更喜歡使用過(guò)程函數(shù)代替類的話,此項(xiàng)保留為空.
  • function? 你希望調(diào)用的函數(shù)名.
  • filename? 包含有你的類/函數(shù)的文件名.
  • filepath? 包含你的腳本的目錄名. 注意: 你的腳本放在 application 文件夾下的目錄里, 這樣 filepath就以那個(gè)文件夾(application)為基準(zhǔn). 例如, 如果你的腳本放在application/hooks下, 你可以把hooks 作為你的filepath. 如果你的腳本放在application/hooks/utilities下你可以把 hooks/utilities作為filepath. 注意后面沒(méi)有"/".如果不放在根目錄下可以根據(jù)相對(duì)路徑的配置,來(lái)完成調(diào)用。這樣就可以完成,多個(gè)應(yīng)用共享一個(gè)鉤子。
  • params? 你希望傳遞給腳本的任何參數(shù). 此項(xiàng)是可選的.

同一掛鉤點(diǎn)的多次引用

如果你想在同一個(gè)掛鉤點(diǎn)引用多個(gè)腳本,最簡(jiǎn)單的方式就是把你的數(shù)組定義成二維的,像這樣:

$hook['pre_controller'][] = array(
????????????????????????????????'class'????=> 'MyClass',
????????????????????????????????'function' => 'Myfunction',
????????????????????????????????'filename' => 'Myclass.php',
????????????????????????????????'filepath' => 'hooks',
????????????????????????????????'params'???=> array('beer', 'wine', 'snacks')
????????????????????????????????);

$hook['pre_controller'][] = array(
????????????????????????????????'class'????=> 'MyOtherClass',
????????????????????????????????'function' => 'MyOtherfunction',
????????????????????????????????'filename' => 'Myotherclass.php',
????????????????????????????????'filepath' => 'hooks',
????????????????????????????????'params'???=> array('red', 'yellow', 'blue')
????????????????????????????????);

注意在每個(gè)數(shù)組索引后面的中括號(hào):

$hook['pre_controller'][]

這允許你的多個(gè)腳本擁有相同的掛鉤點(diǎn)。你定義數(shù)組的順序?qū)⑹浅绦驁?zhí)行的順序.

掛勾點(diǎn)

以下是一組可用的掛鉤點(diǎn).

  • pre_system
    系統(tǒng)執(zhí)行的早期調(diào)用.僅僅在benchmark 和 hooks?類?加載完畢的時(shí)候. 沒(méi)有執(zhí)行路由或者其它的過(guò)程.
  • 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ù), 用來(lái)在系統(tǒng)執(zhí)行末尾向web瀏覽器發(fā)送最終頁(yè)面.這允許你用自己的方法來(lái)顯示.注意,你需要通過(guò) $this->CI =& get_instance() 引用 CI 超級(jí)對(duì)象,然后這樣的最終數(shù)據(jù)可以通過(guò)調(diào)用 $this->CI->output->get_output() 來(lái)獲得。
  • cache_override
    可以讓你調(diào)用自己的函數(shù)來(lái)取代output類中的_display_cache() 函數(shù).這可以讓你使用自己的緩存顯示方法
  • post_system
    在最終著色頁(yè)面發(fā)送到瀏覽器之后,瀏覽器接收完最終數(shù)據(jù)的系統(tǒng)執(zhí)行末尾調(diào)用

?

翻譯貢獻(xiàn)者: anbutu, chouqiuqiu, elviscai, Hex, Jack, nardo, qixingyue, shishirui
最后修改: 2011-06-16 18:26:42
Artikel sebelumnya: Artikel seterusnya: