行为和钩子

in Thought with 0 comment

行为和钩子

  1. 行为

    行为定义:可以把行为想象成在应用执行过程当中的一个动作。例如,在框架的执行流程中,路由检测、静态缓存、用户权限检测,大到行为逻辑,小到浏览器检测、多语言检测等都可以称为一个行为。
    行为作用:把这些行为抽离出来的目的是为了无需修改框架和应用,而在外围通过扩展或配置来改变和添加一些功能。

  2. 钩子
    定义:不同的行为之间也有着位置共同性。比如有些行为的作用位置都是在应用执行前,有些行为则是在模板输出之后,我们把这些行为发生作用的位置称之为钩子。
    当应用程序运行到钩子的时候会被拦截下来,统一执行绑定到该钩子中的行为相关,这类似于AOP编程中的切面概念,给某个钩子绑定相关行为就成了一种类AOP编程的思想。
  3. 特点
    一个行为可以被绑定到多个钩子。
    一个钩子可以绑定多个行为,执行到某个钩子位置后,会按照绑定的顺序依次执行相关的行为。
    在某种特殊情况下,可以设置某个钩子只能执行一次行为,或者是设置在一个钩子的某个行为返回FALSE来终止后续行为的执行。
  4. 通俗理解
    可以将行为理解为一个行为类的方法,在框架中行为类、行为方法则是有一定的规则约定。而钩子则是这些行为方法被调用执行为位置点。
    要想执行某个钩子中的行为,那行为一定要在应用执行到该钩子之前绑定。
Responses