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

 Thinkphp   高蒙   阅读(2669)   评论(0)   2016-11-29 18:05:49     


在熟悉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.'<br/>';
\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 '我是插件看到了吗?<br/>';
}
}

视图调用:

Application/Home/View/Index/index.html

{:tag('Test',$param)}
{:tag('Chajian',$param)}

结果:

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

我是插件看到了吗?





相关文章



我要评论


站长昵称:(*)

输入内容:


评论列表


高蒙

男,程序猿一枚

 

人生要是没有理想, 那跟一条咸鱼有什么分别。


关于我

  http://www.shuchengxian.com

高蒙个人博客是以PHP技术为主的程序员个人博客。博客主要发布php开发中遇到的问题以及解决办法,同时个人博客也分享网站模板素材,jquery插件等方面素材。


站点声明:相关侵权、举报、投诉及建议等,请发E-mail:936594075#qq.com(#替换成@)。

Copyright © 2018, www.shuchengxian.com, All rights reserved. 个人博客皖公网安备 34152302000022号 皖ICP备15015490号

关键词:个人博客,PHP博客,PHP博客程序,高蒙博客,高蒙个人博客,php程序员博客,程序员个人博客