CI3框架初识-钩子

来源:互联网 发布:万捷网络验证要多少钱 编辑:程序博客网 时间:2024/06/10 16:52

今日花了半天看完ci框架手册,对比其他框架,有所心得:

 1.概念上的对比

   1.1 CI的钩子(hook),其实就是类似于laravel,shopex等框架的中间件,只是可以通过挂钩点的概念实现过滤在何处实现。如下:

  

挂钩点

以下是所有可用挂钩点的一份列表:

  • pre_system 在系统执行的早期调用,这个时候只有 基准测试类 和 钩子类 被加载了, 还没有执行到路由或其他的流程。
  • pre_controller 在你的控制器调用之前执行,所有的基础类都已加载,路由和安全检查也已经完成。
  • post_controller_constructor 在你的控制器实例化之后立即执行,控制器的任何方法都还尚未调用。
  • post_controller 在你的控制器完全运行结束时执行。
  • display_override 覆盖 _display() 方法,该方法用于在系统执行结束时向浏览器发送最终的页面结果。 这可以让你有自己的显示页面的方法。注意你可能需要使用 $this->CI =& get_instance() 方法来获取 CI 超级对象,以及使用 $this->CI->output->get_output() 方法来 获取最终的显示数据。
  • cache_override 使用你自己的方法来替代 输出类 中的 _display_cache() 方法,这让你有自己的缓存显示机制。
  • post_system 在最终的页面发送到浏览器之后、在系统的最后期被调用。

不过框架默认是关闭的,需要在config/config.php配置文件中开启,详见官方手册。


0 0