SuperAPI AI 工具集

bagisto-package-development

编程与开发

查看项目

更新于 10-16 01:24

技能介绍

用途:在 Bagisto 中创建或修改包时使用。Bagisto 包是 packages/Webkul/<Name>/ 下的自包含 Laravel 模块;应复制最接近的现有包,而不是套用通用 Laravel 脚手架。

参考文件按需加载:core.md 用于创建包(目录布局、composer.json、providers、Concord 注册);data-layer.md 用于迁移、模型、契约、代理、仓储;ui.md 用于路由、控制器、Blade 视图;features.md 用于后台菜单、ACL、系统配置。

包的结构:src 下可有 Config、Contracts、Database、DataGrids、Http/Controllers、Models、Providers、Repositories、Resources、Routes。只有 Providers/ 是必备;多数包只含其中一部分。领域包(Category、CartRule、CMS、Marketing)只做数据层,后台界面在 Admin,店面页面在 Shop,除非功能真正拥有自己的路由(如支付网关),不要为它们添加 Routes/ 或 Http/Controllers/。

不可协商的规则:双重注册——主 ServiceProvider 注册在 bootstrap/providers.php,ModuleServiceProvider 注册在 config/concord.php,缺一会导致难以诊断的半加载。模型三段式——每个实体由 Contract、实现它的 Model 和 Proxy 组成;仓储的 model() 返回 Contract,跨包类型提示使用 Proxy,从而无需修改核心即可替换模型。Docblock、成员顺序、注释、仓储规则和翻译由 bagisto-coding-standards 技能负责,适用于所有 Bagisto 文件,也是最常见的评审拒绝点。修改文件时需修复其中已存在的违规。

相关技能:bagisto-coding-standards(任何 PHP 及 Blade 层);bagisto-datagrid-development(后台列表页的列、筛选、操作、导出与安全);bagisto-pest-testing / bagisto-playwright-testing(测试);bagisto-change-verification(完成前必须调用的完成闸门)。