hemaPHP所有插件都是存放在`/addons`目录,一个插件一个目录,目录名必须和插件标识相同,且全部为小写,不允许出现大写或下划线等特殊符号。 ~~~ test //插件标识名称 ├── app //此文件夹中所有文件会覆盖到根目录的/app文件夹(可无) ├── assets //此文件夹中所有文件会复制到/public/addons/test文件夹(可无) ├── controller //此文件夹为插件控制器目录(可无) ├── model //此文件夹为插件模型目录(可无) ├── view //此文件夹为插件视图目录(可无) ├── test_uni //此文件夹为小程序代码存放目录(可无) ├── library //此文件夹为插件类目录(可无) ├── Plugin.php //此文件为插件核心安装卸载控制器(必需存在) ├── config.php //插件配置文件,我们在后台插件管理中点配置按钮时配置的文件(可无) └── .database //插件数据库安装文件,此文件仅在插件安装时会进行导入(可无) ~~~ 其中的`app`文件夹会覆盖到根目录,这个文件夹主要用于我们后台管理功能的开发,我们可以先在后台开发好对应的管理功能后,再将对应的功能打包进插件即可,hemaPHP在插件安装和卸载时会自动进行文件冲突检测,如果遇到冲突的文件会提醒用户是否进行覆盖或删除。 `assets`这个文件夹很关键,hemaPHP会将`assets`中的所有文件夹和文件复制到`/public/addons/插件标识/`文件夹中去,`assets`文件夹中的所有文件不会进行文件冲突检测,`/public/addons/插件标识/`这个目录下的文件。因此在开发视图时和发布插件时注意这里路径的使用与替换。 `controller、model、view`和`library`这四个文件夹是我们插件前台功能的MVC部分和扩展类,这部分文件夹不会复制或移动到其它位置。 `Plugin.php`这个文件是插件的核心文件,我们可以在这个文件中编写插件安装或卸载时执行的脚本,或者在此插件中编写菜单的生成或删除,同时插件的行为方法也是编写在此文件中的,插件所支持的行为事件会在后面讲到。此文件命令规则为插件标识首字母大写。 `config.php`这个文件是插件的配置文件,我们在后台插件管理中点配置按钮时会保存在此文件,`.config`详细使用方法和说明请参考《配置》章节。 `.database`这个文件中只能是SQL语句,同时在此文件中可以使用`__PREFIX__`表示数据库表前缀,hemaPHP在安装导入SQL时自动进行替换。`.database`的详细使用方法请参考《数据库》章节 ## 温馨提示 `app`不允许新增其它的模块,只允许使用自带的`common、admin、agent、api、applet、store、index、user`模块