模块化开发实践:从零写一个插件

2026-10-19 约 2 分钟读完 520 次浏览 0 条评论

最小插件结构

my-plugin/
├── module.php
└── src/
    ├── Install.php
    └── Controllers/Admin/IndexController.php

module.php

Hook::filter('admin.menu', static function (array $menu): array {
    $menu[] = ['title' => '我的插件', 'url' => App::adminUrl('/my'), 'perm' => 'admin.my'];
    return $menu;
});

安装时建表

final class Install
{
    public static function ensure(): void
    {
        if (!DB::tableExists('my_items')) {
            DB::execute('CREATE TABLE my_items (id INTEGER PRIMARY KEY, title TEXT)');
        }
    }
}

插件同样支持 API 路由与定时任务钩子。

相关文章

评论(0)

还没有评论,来说两句吧。

发表评论