该技能为 PHP 8.4 与 Laravel 项目提供开发规范与模式参考。
用途:在涉及 Laravel、Eloquent、Blade、artisan、PHPUnit、PHPStan 等工作时使用,用于指导代码风格、架构设计与测试实践。
主要能力:
- 代码风格:每个文件使用 declare(strict_types=1),先处理错误与守卫、成功路径放最后,避免 else;变量名不使用单字母;使用 ?string 而非 string|null,指定 void,导入类名而不内联 FQN。
- 现代 PHP 8.4:readonly 类与属性、带方法与接口的枚举、match 表达式、构造函数提升、一等可调用语法、Fibers、DNF 类型、属性钩子、非对称可见性等。
- Laravel 架构:胖模型瘦控制器,控制器仅做验证、调用服务/动作、返回响应;服务类与单一职责动作类;所有验证用 Form Request,禁止在控制器内联验证;副作用放事件与监听器。
- 生产韧性:在服务提供者 boot() 中快速失败校验关键配置;暴露 /health 与 /ready 健康端点。
- 路由:使用 Route::scopeBindings() 防止跨租户访问;Route::apiResource 生成标准 REST 路由;统一 JSON 响应信封。
- 迁移:匿名类迁移、snake_case 复数表名、外键约束与索引;新增或重命名使用 expand-contract 模式;已运行过的迁移不再修改。
- Eloquent:开发环境启用 preventLazyLoading 捕获 N+1;仅选择所需列;数据库层批量操作;使用 increment()/decrement();分块处理大数据集;查询作用域;withCount/withExists;DB::transaction;upsert;Prunable 自动清理;显式 $fillable 避免批量赋值漏洞。
- 队列:Bus::batch 批处理、Bus::chain 链式执行、Redis::throttle 限流、ShouldBeUnique 防重复、实现 failed() 处理失败。
- 测试:Feature 测试走完整 HTTP 栈,Unit 测试隔离逻辑;使用 RefreshDatabase/DatabaseTransactions;工厂生成测试数据;每个测试一种行为;先 fake 再执行再断言;覆盖率目标 80% 以上。
- 生产性能:启用 OPcache 并设置参数,可选 JIT 与预加载;部署时运行 config:cache、route:cache、view:cache、event:cache 及 composer install --optimize-autoloader --no-dev。
使用方式:作为编码与评审时的参考规范。验证命令为 ./vendor/bin/phpstan analyse --level=8 与 ./vendor/bin/phpunit,需零警告通过。
适用场景:Laravel 项目的架构设计、Eloquent 查询优化、队列任务实现、PHPUnit 测试编写与生产部署优化。
限制:资料未提供该技能的安装步骤、许可、价格与具体支持平台,相关事实暂未提供。