用途:在 Bagisto 中开发自包含的包(模块),把特定功能封装为可复用、可覆盖的扩展单元。
主要能力:搭建包目录结构;创建数据库迁移;构建带 contracts 与 proxies 的 Eloquent 模型;实现仓库层数据访问;创建后台与店铺路由;编写依赖注入的控制器;使用 Bagisto 布局编写 Blade 视图;添加多语言支持;创建后台 DataGrid 表格;配置后台导航菜单;实现基于权限的访问控制;创建后台可配置设置。
使用方式:可用包生成器脚手架,先安装 composer require --dev bagisto/bagisto-package-generator,再执行 php artisan package:make Webkul/RMA(目录已存在时加 --force),以及 package:make-model、package:make-repository、package:make-migration。也可手动创建目录与 ServiceProvider,在根 composer.json 配置 PSR-4 自动加载后运行 composer dump-autoload,在 bootstrap/providers.php 注册服务提供者,并执行 php artisan optimize:clear。服务提供者中可加载迁移、路由、视图、翻译并合并配置;Concord 模型需在 ModuleServiceProvider 注册并在 config/concord.php 声明。
代码规范:运行 vendor/bin/pint 处理格式;多子句条件需多行书写,每个方法、属性、常量都要有 docblock,类成员按常量、属性、构造函数、抽象方法、public、protected、private 顺序排列,方法体内只注释代码无法表达的内容。数据访问一律通过仓库,不在控制器、监听器、任务或服务中直接使用查询构建器;面向卖家的查询在仓库方法中以卖家 id 为首参并过滤。DataGrid 的 prepareQueryBuilder() 是使用查询构建器的例外。
限制:资料未提供该技能的收费、价格、平台与效果信息;具体版本兼容性与完整 API 细节暂未提供。