在ThinkPHP 3.X中加入了CBD模式,阅读了一下官方的文档之后,感觉这个CBD模式中的B(Behavior),官方的解释是这样的:
行为(Behavior)是ThinkPHP扩展机制中比较关键的一项扩展,行为既可以独立调用,也可以绑定到某个标签(位)中进行侦听。
而我对于这个的理解,其实就是一种事件的侦听,当我们使用行为这个动作的时候,我们就可以在thinkPHP中任何的地方调用;官方其实已经有写好的一些行为,而这些行为的文件就在 ThinkPHP/Library/Behavior文件夹下面。当我们要使用这些行为的时候,有两个添加侦听的方法。
使用functions.php中的tag(‘标签’,’变量’)
tag('标签',$变量);
或者是使用
Hook::listen('标签',$变量);
调用后,定义好的行为就会执行了;而如果我们想自定义行为那应该怎样操作呢?
1:首先我们要先创建一个新的类,例如TestBehavior.class.php,当然囖我们也需要按照thinkPHP中的文件命名规则来进行命名
2:类创建好之后,我们还需要在这个类中创建一个run的方法(必须的)
class TestBehavior
{
// 行为扩展的执行入口必须是run
public function run($params){
echo 'RUNTEST BEHAVIOR '.$params;
}
}