thinkphp插件开发(上)

用thinkphp做插件开发之前,可以先参考下onethink的插件模块;

本人用的版本是 tp3.2.3版本(注意 ot 用因为版本问题略有不同),可以通过如下截图了解它的行为扩展和钩子来实现 (多入口) 插件开发:


修改hook系统类(如下图1-1 和 1-2),图1-1 判断导入的插件标签类是否存在 ‘ / ’  (根据导入插件时判断). 

如图1-2中设置的(tags.php)是自动导入的,设置‘app_init ’意思指在应用初始化时就 导入 该标签类.

该类是 Common\Behavior\InitHookBehavior 存在 ‘ / ’ ,所以会走 单入口(限制只有一个run方法).

图1-3  是在 某个应用控制器 里 手动 导入插件,举个下面的例子:

add('demo', 'Editor') ,参数 ’demo‘ 为标签名,在Editor插件类 (图1-5) 里面作方法名,并且用于后面监听调用插件 (必须遵循先导入再监听原则),比如我在视图用自定义函数hook (图1-4);参数  ’Editor‘  为插件名 ,看  图1-1和1-3 的红色圈 就很容易理解它的命名来源, 因为参数 ‘Editor’  不像 aa\bb\cc 这样的形式,不存在 ' \ ',所以会走多入口模式,如此类推. 最后输出  图1-6。我们可以做一些优化,可以参考ot ,插件导入在应用初始化的时候就完成了 (InitHookBehavior类设置的意义),如图1-7,最后 同样 输出 图 1- 6。

                                                                                                     ( 图 1-1)

(图1-2)


(图 1-3)

(图1-4)

(图1-5)

(图1-6)

(图1-7)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值