TP5 行为Behavior用法说明

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 }

猜你喜欢

转载自www.cnblogs.com/cyfblogs/p/10283760.html