SuperAPI AI 工具集

specsfy-specialist-laravel

通用与其它

查看项目

更新于 10-16 03:49

技能介绍

用途:当仓库含 artisan、composer.json 中有 laravel/framework,且任务涉及路由、控制器、模型、策略、表单请求、任务、事件、缓存、配置或测试时启用;也用于 Laravel PR 审查、N+1 诊断、队列卡死、授权破损或高风险迁移。纯 schema、索引或查询计划决策不适用,应改用 postgres 专项技能。

主要能力与流程:先读 composer.json/composer.lock 确认框架、PHP 与相关包版本;梳理请求从入口到领域、持久化、异步效果与响应的边界;沿用项目既有约定(Form Request、Policy、Resource、Job);在写代码前定义授权、验证、事务、幂等与失败模式;写聚焦测试(Pest 或 PHPUnit),先 RED 再实现再重构。

使用规范:控制器要薄,验证放 Form Request,授权放 Policy/Gate,业务规则放项目已采用的边界;Eloquent 显式预加载(with、withCount),避免 N+1;宽表用 select 选列,大扫描用 chunkById/lazyById;任务设计为幂等(ShouldBeUnique/lock、显式 timeout 与尝试次数、failed() 处理最终失败);大表迁移用 expand→数据迁移→contract,避免单个阻塞式 ALTER;用 $fillable 防批量赋值,不把 $request->all() 直接传给 create/update。

运行与验证:使用 Laravel Octane 加 Open Swoole 与 --server=swoole,镜像中安装 openswoole 扩展,按请求清理状态,单例与静态属性不得在常驻 worker 间携带数据。测试要求 .env.testing 且 APP_ENV=testing、数据库与 .env 分离,用 DatabaseTransactions 与工厂;禁止 migrate:fresh、migrate:refresh、migrate:reset、migrate:rollback、db:wipe 等删库命令。迁移任务需用 php artisan make:migration 创建,执行 php artisan migrate --env=testing,并用 php artisan migrate:status --env=testing 确认。完成前运行测试、Larastan/PHPStan 与 Pint,检查队列、调度器、配置/路由缓存与环境变量。

适用与限制:适用于 Laravel 应用开发与运维;与 reui、laravel-package-manager、data-modeling、postgres、supabase、application-security、redis、docker 等技能配合使用。不得在未验证 .env.testing 分离前运行测试;不得宣称“安全”或“幂等”而缺少对抗性场景测试。资料未提供收费、价格与平台信息。