-
Notifications
You must be signed in to change notification settings - Fork 1
季悠然 edited this page Dec 29, 2021
·
4 revisions
没有啥规范,把模块文件夹放在App/Module
目录内就好。每个模块文件夹名与类名应保持一致且模块文件夹应包含一个module.yml
文件。
每个模块文件夹内的module.yml
为其配置文件。内容如下
- name: 模块名
- des: 模块描述
- enable: 是否启用
- func: 功能列表
这些都是写给人看的,不是写给程序看的,所以随意就好。示例如下:
name: Deutsch
des: 德语学习助手
enable: true
func:
- 单词搜索
- 每日一句
如果你的插件需要用到路由,那么可以通过这种方式注册
name: Note
des: 便签
enable: true
func:
- 新增便签
- 修改便签
- 删除便签
route:
- get:
note/get/(:any): App\Module\Note\Note@getNote
note/delete/(:any): App\Module\Note\Note@deleteNote
- post:
note/modify/(:any): App\Module\Note\Note@modifyNote
具体规则如下:
匹配规则: 类名@方法
确保你有一定的PHP命名空间的知识🧀。任何方法的返回值需要为一个数组,包含三个键code
,http
,content
,就像下面这样
$result = [
"code" => "10002", //自定义的状态码
"http" => 404, //HTTP状态码
"content" => "吔?找不到了!" //返回的内容
];
三个字段的含义如下
-
code
: 返回的状态码 -
http
: 响应的HTTP状态码(可选,默认200) -
content
: 需要返回的实际数据
框架提供了一个BaseController
基类,可以方便地调用一些内部方法(其实也没啥方法)
use App\Core\BaseController;
class test extends BaseController {
//...
}
继承了BaseController后可以直接使用$this->database
来访问数据库。数据库框架使用的是Medoo,具体用法可以看看这里
https://medoo.lvtao.net/
继承了BaseController后可以直接使用$this->cache
来操作缓存,目前的缓存是我自己瞎搞的key-value型的文件缓存,没啥子用,不过好歹说一下
$this->cache->newCache('key'); //创建缓存, 无返回值
$this->cache->haveCache('key'); //是否有缓存,布尔型返回值
$this->cache->readCache('key'); //读取缓存,返回缓存值
$this->cache->writeCache('key', $value); //设置缓存,无返回值
值都被JSON序列化后存放在缓存文件夹中。可以在配置文件中设置缓存文件夹路径。 适合用于缓存别的API的返回值。
有什么建议或者想添加的功能,欢迎提Issue呀