TP5 行为Behavior用法说明
无论是tp3还是在tp5中,行为都是一个非常重要的概念,关于太多的理论知识,就不多说了,不了解的请查看开发文档:TP5 行为概述
以下,就由代码来一步一步实现行为定义、绑定以及执行的过程
一、行为定义
首先定义一个简单的行为,就是直接返回参数
1 namespace app\admin\behavior;
2
3
4 class Test
5 {
6 public function run(&$title)
7 {
8 return $title;
9 }
10 }
二、行为绑定
行为定义完成后,就需要绑定到某个标签位置才能生效,否则是不会执行的。
使用Hook类的add方法注册行为,
1 $title = '我是title';
2 Hook::add('abc','app\\admin\\behavior\\Test');
备注:
1、行为类中默认是执行run方法,即Test类中定义的方法名如果不是run方法,那么在add的时候,标签位必须与方法同名(注意驼峰命名方式),如果是run方法的话,就可以随便写了,详见Hook类的exec方法
2、行为绑定,也支持闭包,形如:
1 Hook::add('abc',function ($title){
2 return $title;
3 });
三、行为执行,也叫触发
1 dump(Hook::listen('abc',$title));die;
最后结果为:
1 array(1) {
2 [0] => string(11) "我是title"
3 }