我是codeigniter的新手。在每次采访中都询问了钩子。我没有得到什么是钩子为什么我必须使用它?它有什么好处。
答案 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 在最终呈现的页面发送到之后调用 浏览器,在最终数据之后的系统执行结束时 被发送到浏览器。