博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CodeIgniter用hook钩子实现Interceptor拦截器功能
阅读量:5825 次
发布时间:2019-06-18

本文共 907 字,大约阅读时间需要 3 分钟。

今天用ci框架的钩子实现一个例子,在每一次http请求后,在返回报文中的头部header中添加设置跨域访问的属性。

1.启用钩子

钩子特性可以在 application/config/config.php 文件中全局的启用或禁用, 设置下面这个参数:

$config['enable_hooks'] = TRUE;

2.定义钩子

钩子是在 application/config/hooks.php 文件中被定义的,每个钩子可以定义 为下面这样的数组格式:

'hook_resp', 'filename'=> 'resp.php', 'filepath' => 'hooks', 'params' => array(),);
  • post_controller 在你的控制器完全运行结束时执行。也就是controller在每一次处理http请求后执行。

  • function 你希望调用的方法或函数的名称。

  • filename 包含你的类或函数的文件名。

  • filepath 包含你的脚本文件的目录名。 注意: 你的脚本必须放在

  • application/ 目录里面,所以 filepath 是相对 application/ 目录的路径,举例来说,如果你的脚本位于

    application/hooks/ ,那么 filepath 可以简单的设置为 'hooks' ,如果你的脚本位于

application/hooks/utilities/ , 那么 filepath 可以设置为 'hooks/utilities'

,路径后面不用加斜线。

  • params 你希望传递给你脚本的任何参数,可选。

3.创建自定义钩子文件

在system/application/hooks中新增文件resp.php

output->set_header("Access-Control-Allow-Origin: * "); header("Access-Control-Allow-Origin: * ");}

说明:此方案方便,低耦合,无需要修改controller 及method.

可以随时启用或变更

转载地址:http://rlsdx.baihongyu.com/

你可能感兴趣的文章
实验二
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
MyBatis使用DEMO及cache的使用心得
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
乐信Q2季报图解:调整后净利过5亿 同比增长776%
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
韩国国会议员涉嫌投机炒房 检方称已立案调查
查看>>
李娜入选国际网球名人堂 成亚洲第一人
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
我从过去八个月的AI公司面试中学到了什么?
查看>>
jQuery实践小结
查看>>
深入探究Immutable.js的实现机制(一)
查看>>
jsp改造之sitemesh注意事项
查看>>
智能硬件的时代,嵌入式是否已经日薄西山
查看>>