thinkphp 行为扩展 钩子与插件的实现

thinkphp 行为扩展 钩子与插件的实现

在熟悉onthink程序的时候,看到后台有钩子和插件的管理界面。很感兴趣,之前就对行为不怎么理解和使用,借着这次机会好好的研究下。

行为(Behavior)是一个比较抽象的概念,类似于AOP编程中的“切面”的概念,给某一个切面绑定相关行为就成了一种类AOP编程的思想。

在开始之前我们看看它是怎么个流程?

1、注册行为。

2、具体行为的操作。## 标题

3、行为里面如何注册插件。

4、视图的调用。

按照官网的实例,自己亲生的实践一下,下面是我的实践代码。

配置文件:

Application/common/conf/config.php
return array(
//‘配置项’=>‘配置值’
‘AUTOLOAD_NAMESPACE’ => array(‘Addons’ => ‘./Addons/’), //扩展模块列表
);
行为的注册:

Application/Common/Conf/tags.php
return array(
‘Test’ => array(‘Common\Behavior\TestHookBehavior’),
);
TestHookBehavior文件代码:

namespace Common\Behavior;
use Think\Behavior;
use Think\Hook;
class TestHookBehavior extends Behavior {
public function run(&$param) {
echo ‘测试钩子,我接受到的数据是’ . $param.‘
’;
\Think\Hook::add(‘Chajian’, ‘Addons\Chajian\ChajianAddon’);
}
}
插件:

Addons/Chajian/ChajianAddon.class.php

namespace Addons\Chajian;
use THink\Controller;
class ChajianAddon extends Controller {
function Chajian() {
echo ‘我是插件看到了吗?
’;
}
}
视图调用:

Application/Home/View/Index/index.html

{:tag(‘Test’,KaTeX parse error: Expected 'EOF', got '}' at position 7: param)}̲ {:tag('Chajian…param)}
结果:

测试钩子,我接受到的数据是

我是插件看到了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值