摘要:今天用框架的鉤子實現(xiàn)一個例子,在每一次請求后,在返回報文中的頭部中添加設置跨域訪問的屬性。也就是在每一次處理請求后執(zhí)行。創(chuàng)建自定義鉤子文件在中新增文件說明此方案方便低耦合無需要修改及可以隨時啟用或變更
今天用ci框架的鉤子實現(xiàn)一個例子,在每一次http請求后,在返回報文中的頭部header中添加設置跨域訪問的屬性。
1.啟用鉤子
鉤子特性可以在 application/config/config.php 文件中全局的啟用或禁用, 設置下面這個參數(shù):
$config["enable_hooks"] = TRUE;
2.定義鉤子
鉤子是在 application/config/hooks.php 文件中被定義的,每個鉤子可以定義 為下面這樣的數(shù)組格式:
"hook_resp", "filename"=> "resp.php", "filepath" => "hooks", "params" => array(), );
post_controller 在你的控制器完全運行結束時執(zhí)行。也就是controller在每一次處理http請求后執(zhí)行。
function 你希望調(diào)用的方法或函數(shù)的名稱。
filename 包含你的類或函數(shù)的文件名。
filepath 包含你的腳本文件的目錄名。 注意: 你的腳本必須放在
application/ 目錄里面,所以 filepath 是相對 application/ 目錄的路徑,舉例來說,如果你的腳本位于
application/hooks/ ,那么 filepath 可以簡單的設置為 "hooks" ,如果你的腳本位于
application/hooks/utilities/ , 那么 filepath 可以設置為 "hooks/utilities"
,路徑后面不用加斜線。
params 你希望傳遞給你腳本的任何參數(shù),可選。
3.創(chuàng)建自定義鉤子文件
在system/application/hooks中新增文件resp.php
function hook_resp($params) { // $CI =& get_instance(); // $CI->output->set_header("Access-Control-Allow-Origin: * "); header("Access-Control-Allow-Origin: * "); }
說明:此方案方便,低耦合,無需要修改controller 及method.
可以隨時啟用或變更
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/22767.html
摘要:源碼分析安裝好包,根據(jù)上述方法,我們運行如下命令初始化在構造函數(shù)處打上斷點,可以看到繼承自,上面定義了一個函數(shù)。因為函數(shù)定義在原型上,并通過在構造函數(shù)中賦值。 Webpack源碼閱讀之Tapable webpack采用Tapable來進行流程控制,在這套體系上,內(nèi)部近百個插件有條不紊,還能支持外部開發(fā)自定義插件來擴展功能,所以在閱讀webpack源碼前先了解Tapable的機制是很有必...
摘要:概述通過前三章的分析,我們簡要分析了和,但對攔截器部分做詳細的分析,攔截器的加載和初始化是三個相同的部分。 概述 通過前三章的分析,我們簡要分析了SimpleUrlHandlerMapping、BeanNameUrlHandlerMapping和RequestMappingHandlerMapping,但對攔截器部分做詳細的分析,攔截器的加載和初始化是三個HandlerMapping相...
摘要:行,是否強制訪問。行,嘗試處理此次請求,詳細見方法。至此,的執(zhí)行主流程完畢。小結是的核心文件,它被調(diào)用后,完成了諸多的主流程操作。此文可以轉(zhuǎn)載,但轉(zhuǎn)載前需要發(fā)郵件到進行溝通,未溝通的均視作侵權。 前言 Codeigniter.php 是 CI 4 的核心所在,在這里接收并處理了 request 請求,安全檢查,緩存處理, URL 解析以及路由匹配,執(zhí)行過濾器,加載運行 Controll...
摘要:系列文章系列第一篇基礎雜記系列第二篇插件機制雜記系列第三篇流程雜記前言本身并不難,他所完成的各種復雜炫酷的功能都依賴于他的插件機制。的插件機制依賴于一個核心的庫,。是什么是一個類似于的的庫主要是控制鉤子函數(shù)的發(fā)布與訂閱。 系列文章 Webpack系列-第一篇基礎雜記 Webpack系列-第二篇插件機制雜記 Webpack系列-第三篇流程雜記 前言 webpack本身并不難,他所完成...
摘要:一個精巧易用的微信小程序開發(fā)輔助庫特點輕量小巧上手簡單支持和一樣優(yōu)雅的數(shù)據(jù)響應式支持數(shù)據(jù)自動更新更改緩存批量更新強大的網(wǎng)絡功能支持全局事件總線支持跨頁面?zhèn)髦抵С质纠こ淘谠创a目錄下用微信小程序開發(fā)工具打開即可。 Grace 一個精巧、易用的微信小程序開發(fā)輔助庫 Github: https://github.com/wendux/grace 特點 輕量、小巧、上手簡單 支持和Vue一樣...
閱讀 1158·2023-04-26 00:12
閱讀 3344·2021-11-17 09:33
閱讀 1088·2021-09-04 16:45
閱讀 1233·2021-09-02 15:40
閱讀 2255·2019-08-30 15:56
閱讀 3010·2019-08-30 15:53
閱讀 3584·2019-08-30 11:23
閱讀 1963·2019-08-29 13:54