Home  >  Article  >  Backend Development  >  终究啥是钩子,他的作用是啥

终究啥是钩子,他的作用是啥

WBOY
WBOYOriginal
2016-06-13 12:20:15978browse

到底啥是钩子,他的作用是啥
大家知道几乎所有的php视频讲座,包括书籍,根本没有提到钩子的概念,但是发现实际做项目的时候却经常用到,所以有时感觉教学的实践的脱节一直是中国人最大的毛病,没用的讲的和滔滔江水,连延不断,而用到的只字不提。
牢骚过后还要正视严峻的现实,那么问题来了,到底啥是钩子呢

------解决思路----------------------
简单的说,钩子就是程序。这些程序可以在特定的时间被调用。
你既然用CI框架,那么应该知道,在框架初始化的过程中,有一些特殊的时间点,比如
(1)、框架初始化之前的时间点。
(2)、控制器初始化之前的时间点
(3)、控制器运行之后的时间点
当然还有其他的时间点。
在每一个时间点,你都可以埋下一些钩子(可以是一段程序,或者一个函数)。框架中都会有一个专门处理钩子的类库(比如CI中的hooks.php),这个Hook类就会在程序运行的特定点检查是不是有特定的钩子,如果有钩子,就执行这个钩子。

说了这么多,可能还是有点抽象。打个比方:
你下班回家的整个流程看做是框架的执行流程,正常情况下,你下班直接走回家就可以。如果你老妈给你打电话说,如果你路过邮局,刚好有咱家的快递,带回家,这个过程,就比较类似钩子(检查钩子,如果有则执行之)。

如果你做过一些前端的工作,这个钩子就恰似“事件驱动”的模式。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn