用户
 找回密码
 入住 CI 中国社区
搜索
查看: 7401|回复: 9
收起左侧

[控制器] ci中的hook用于什么方面

[复制链接]
发表于 2012-9-28 15:23:18 | 显示全部楼层 |阅读模式
最近把ci的代码看了一遍。对hook这个类作用不是很理解。求高手解释。
发表于 2012-9-28 22:07:19 CI中国手机版 | 显示全部楼层
hook是神器,具体怎么用,要看实现什么功能
发表于 2012-9-29 09:18:59 | 显示全部楼层
就是在系统引导流程中插入自己的代码,而不用修改核心代码。
 楼主| 发表于 2012-9-29 10:22:43 | 显示全部楼层
貌似可以在 控制器之前(或者其他时候) 执行自己的代码,执行某个对象的方法或者某个函数。
我现在把需要在所有控制器中都执行的代码移到hook中了。
应该就是这么用的吧?
发表于 2012-12-23 03:17:09 | 显示全部楼层
power721 发表于 2012-9-29 09:18
就是在系统引导流程中插入自己的代码,而不用修改核心代码。

  精髓。
发表于 2012-12-25 17:29:23 | 显示全部楼层
虽然很神,但是实际上运用hook的情况不多(因为ci已经解决了大部分你可能会遇到的问题)。当使用扩展无法达到目的时,才会考虑钩子
发表于 2013-1-17 10:58:29 | 显示全部楼层
跟其java、net,这种hook功能还是太弱,使用起来不方便。
最近在纠结,扩展任务完成后自动化邮件,又不想入侵原业务代码,其实本身就不应该入侵,但实现起来各种纠结。
发表于 2013-2-7 03:39:37 | 显示全部楼层
试试drupal 框架就能深刻体会hook的意义了 :)

Drupal's module system is based on the concept of "hooks". A hook is a PHP function that is named foo_bar(), where "foo" is the name of the module (whose filename is thus foo.module) and "bar" is the name of the hook. Each hook has a defined set of parameters and a specified result type.
发表于 2013-2-7 07:32:17 | 显示全部楼层
听起来好神奇,想用一下,我也不知道怎样用
发表于 2013-3-15 17:52:53 | 显示全部楼层
hook在你执行controller之前执行,举一个例子吧,有一次,项目要上线,但是服务器时间怎么调也不正确。(因为要存订单时间),没办法,一时调不好服务器,就写了一个钩子设置时区。(只是作为临时方案)

本版积分规则