网站大量收购闲置独家精品文档,联系QQ:2885784924

7CI钩子-扩展核心.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7CI钩子-扩展核心

钩子-扩展框架的核心CodeIgniter的钩子功能可以在不修改核心文件基础上改变或增加系统核心运行功能。启用钩子:$config[‘enable_hooks’]=TRUE;定义钩子:每个钩子可以用数组方式来定义:$hooks[‘pre_controller’]=array(‘class’=’MyClass,’‘function’=’Myfunction’,‘filename’=’Myclass.php’,‘filepath’=’hooks’,‘params’=array(‘beer’,’wine’,’snacks’));上面例子的挂钩点是pre_controller,class是希望调用的类名function是希望调用的函数名filename是包含这个类/函数的文件名filepath包含你的脚本的目录名params是希望传递给脚本的任何参数,此项可选。注意: 你的脚本放在 application 文件夹下的目录里, 这样 filepath就以那个文件夹(application)为基准. 例如, 如果你的脚本放在application/hooks下, 你可以把hooks 作为你的filepath. 如果你的脚本放在application/hooks/utilities下你可以把 hooks/utilities作为filepath. 注意后面没有/.如果不放在根目录下可以根据相对路径的配置,来完成调用。这样就可以完成,多个应用共享一个钩子。同一挂钩点多次引用:如果想在同一个挂钩点引用多个脚本,那么可以把你的数组定义成二维的,例如:$hooks[‘pre_controller’][]=array(‘class’=’MyClass’,‘function’=’Myfunction’,‘filename’=’Myclass.php’,‘filepath’=’hooks’,‘params’=array(‘beer’,’wine’,’snscks’));$hook[‘pre_controller’][]=array(‘class’=’MyOtherClass’,‘function’=’MyOtherfunction’,‘filename’=’Myothercalss.php’,‘filepath’=’hooks’,‘params’=array(‘red’,’yellow’,’blue’));每个数组的索引后面的中括号:$hook[‘pre_controller’][]这允许你的多个脚本拥有相同的挂钩点,定义数组顺序将是程序的执行顺序。挂钩点:以下是一组可用的挂钩点:pre_system系统执行早起调用,仅仅能用在benchmark和hooks类加载完毕时,没有执行路由或其他程序。pre_controller在调用任何控制器前调用,此时所用基础类,路由选择和安全性检查都完成pre_controller_constructor在控制器实例化之后任何方法调用之前调用。post_controller在你控制器完全运行之后调用。display_override覆盖_display()函数,用在系统末尾向web浏览器发送最终页面,注意:需要通过$this-CI=get_instance()引用CI超级对象,然后这个最终书记可以通过调用$this-CI-output-get_output()来获得。cache_override可以让你调用自己的函数取代output中的_display_cache()函数,可以让你使用自己的缓存显示方法。post_system在最终着色页面发送到浏览器之后,浏览器接受完最终数据的系统执行末尾调用

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档