在Codeigniter中钩的目的是什么?我们为什么要创造?

时间:2016-08-29 06:42:45

标签: php codeigniter codeigniter-2 codeigniter-3

我是codeigniter的新手。在每次采访中都询问了钩子。我没有得到什么是钩子为什么我必须使用它?它有什么好处。

2 个答案:

答案 0 :(得分:2)

这是使用它挂钩在codeigniter

中的示例链接

https://qasimbadami.wordpress.com/2012/05/18/codeigniter-hooks-tutorial/

注意:假设您有大项目和近100个控制器,如果每次检查会话是否存在,每个帖子请求 所以要使用hook

答案 1 :(得分:1)

将钩子视为codeigniter中的中间件实现。 基本上,您可以扩展框架的基本功能,将代码添加到请求实时循环的特定时刻。

这是codeigniter 2中可用的挂钩列表

  

以下是可用挂钩点列表。

     

pre_system 在系统执行期间很早就调用。只有   此时已加载基准测试和钩子类。没有路由   或其他过程已经发生。

     

pre_controller 立即致电   在调用任何控制器之前。所有基类,   路由和安全检查已经完成。

     

post_controller_constructor 在控制器后立即调用   实例化,但在任何方法调用发生之前。

     

post_controller 在控制器完全启动后立即调用   执行。

     

display_override 覆盖_display()函数,用于   将最终页面发送到系统末尾的Web浏览器   执行。这允许您使用自己的显示方法。注意   您将需要使用$ this-> CI =& amp;来引用CI超级对象。   get_instance()然后可以获得最终的数据   调用$ this-> CI-> output-> get_output()

     

cache_override 启用   调用你自己的函数而不是_display_cache()函数   输出类。这允许您使用自己的缓存显示   机制。

     

post_system 在最终呈现的页面发送到之后调用   浏览器,在最终数据之后的系统执行结束时   被发送到浏览器。