thinkphp5 插件开发

@admin  December 4, 2017

1.安装依赖

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

2.配置钩子

公共配置

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

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

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

3.创建插件

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

以test插件为例 创建test插件 在addons目录中创建test目录 创建钩子实现类
在test目录中创建Test.php类文件。注意:类文件首字母需大写
创建controller view 目录。controller 继承 thinkaddonsController,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

添加新评论