每个插件都有一个入口文件,命名方式为`插件名称.php`,这里以`HelloWorld`为例。 在`plugins`目录下建立一个新插件目录`HelloWorld`,再新建一个`HelloWorld.php`的入口文件。 ~~~ plugins ├─HelloWorld │ │ HelloWorld.php ~~~ 插件有一个独立的顶级命名空间”`plugins`“,所有插件入口文件必须继承`\app\common\controller\Plugin`,并且必须实现两个方法:`install()`和`uninstall()`。 比如: ~~~ <?php namespace plugins\HelloWorld; use app\common\controller\Plugin; /** * 演示插件 */ class HelloWorld extends Plugin { /** * 安装方法必须实现 */ public function install(){ return true; } /** * 卸载方法必须实现 */ public function uninstall(){ return true; } } ~~~ 然后还需要定义插件的相关信息`$info`参数。 ~~~ <?php namespace plugins\HelloWorld; use app\common\controller\Plugin; /** * 演示插件 */ class HelloWorld extends Plugin { /** * @var array 插件信息 */ public $info = [ // 插件名[必填] 'name' => 'HelloWorld', // 插件标题[必填] 'title' => '你好,世界', // 插件唯一标识[必填],格式:插件名.开发者标识.plugin 'identifier' => 'helloworld.ming.plugin', // 插件作者[必填] 'author' => 'CaiWeiMing', // 插件版本[必填],格式采用三段式:主版本号.次版本号.修订版本号 'version' => '1.0.0' ]; /** * 安装方法必须实现 */ public function install(){ return true; } /** * 卸载方法必须实现 */ public function uninstall(){ return true; } } ~~~ 定义好之后,就可以进入后台->系统->扩展中心->插件管理,进行安装了。 插件入口文件可以定义以下几类参数: * [插件基本信息](插件基本信息.md) * [管理界面字段信息](管理界面字段信息.md) * [新增或编辑字段信息](新增或编辑字段信息.md) * [原数据库表前缀](原数据库表前缀.md) * [插件钩子](插件钩子.md)