yangakw yangakw

thinkphp5 插件开发

in 记录read (200) 文章转载请注明来源!

1.安装依赖

https://packagist.org/packages/5ini99/think-addons
这是一个composer扩展包,先安装。

2.配置钩子

公共配置

'addons'=>[
    // 是否自动读取取插件钩子配置信息(默认是关闭)
    'autoload' => false,
    // 当关闭自动获取配置时需要手动配置hooks信息
    'hooks' => [
        // 可以定义多个钩子
        'testhook'=>'test' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件,
                    // 多个插件可以用数组也可以用逗号分割
    ]
]

或者在application\extra目录中新建addons.php,内容为:

<?php
return [
    // 是否自动读取取插件钩子配置信息(默认是关闭)
    'autoload' => false,
    // 当关闭自动获取配置时需要手动配置hooks信息
    'hooks' => [
        // 可以定义多个钩子
        'testhook'=>'test' // 键为钩子名称,用于在业务中自定义钩子处理,值为实现该钩子的插件,
                    // 多个插件可以用数组也可以用逗号分割
    ]
];

3.创建插件

在APP_PATH 上一级目录建立 addons 目录

以test插件为例 创建test插件 在addons目录中创建test目录 创建钩子实现类
在test目录中创建Test.php类文件。注意:类文件首字母需大写
创建controller view 目录。controller 继承 \think\addons\Controller,view下的文件通过return view('模板路径');
即可调用
使用钩子 -> 创建好插件后就可以在正常业务中使用该插件中的钩子了 使用钩子的时候第二个参数可以省略

在模板中使用<div>{:hook('testhook', ['id'=>1])}</div>
在php中   hook('testhook', ['id'=>1])

4.最终目录

tp5

  • addons
    --- test
    ----- controller
    -------- Action.php
    ----- view
    -------- link.html
    ----- Test.php
  • application
  • thinkphp
  • extend
  • vendor
  • public
jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

发表新评论
博客已运行
© 2018 yangakw
PREVIOUS NEXT
雷姆
拉姆