ThinkPHP3.0完全开发手册                                           

 

13.1.1          行为和标签

行为在新版ThinkPHP的架构里面起着举足轻重的作用,在系统核心之上,设置了很多标签扩展位,而每个标签位置可以依次执行各自的独立行为。行为扩展就因此而诞生了,而且很多系统功能也是通过内置的行为扩展完成的,所有行为扩展都是可替换和增加的,由此形成了底层框架可组装的基础。

系统核心提供的标签位置包括下面几个(按照执行顺序排列):

app_init

应用初始化标签位

route_check

路由检测标签位

app_begin

应用开始标签位

action_name

操作方法名标签位

action_begin

控制器开始标签位

view_begin

视图输出开始标签位

view_template

视图模板解析标签位

view_parse

视图解析标签位

view_filter

视图输出过滤标签位

view_end

视图输出结束标签位

action_end

控制器结束标签位

app_end

应用结束标签位

在每个标签位置,可以配置多个行为定义,行为的执行顺序按照定义的顺序依次执行。除非前面的行为里面中断执行了(某些行为可能需要中断执行,例如检测机器人或者非法执行行为),否则会继续下一个行为的执行。

除了这些系统内置标签之外,开发人员还可以在应用中添加自己的应用标签,例如我们给应用的公共ActionCommonAction添加一个action_init标签位。

Class CommonAction extends Action{

Public function _initialize(){

tag('action_init'); // 添加action_init 标签

}

}

注意:tag函数用于设置某个标签位,可以传入并且只接受一个参数,如果需要传入多个参数,请使用数组,该参数为引用传值,所以只能传入变量。


NetPc