mcpField
L
laravel-best-practices

laravel-best-practices

github.com/laravel开发3.7k2.2k 次安装1 天前更新
代码仓库

关于 laravel-best-practices

这是一套面向 Laravel 应用开发者的规则型技能,指导如何按项目既有约定实现和验证修改。它按开发主题索引规则,并强调先检查现有代码模式。

主要功能

  1. 01按 Laravel 主题索引规则
  2. 02优先遵循现有代码模式
  3. 03指导进行最小化修改
  4. 04核对版本相关 API
  5. 05聚焦测试与差异审查

适用场景

  1. 01编辑前审查 Laravel 修改
  2. 02为数据库或路由工作选择规则
  3. 03修改后检查测试与代码风格

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/laravel/boost --skill laravel-best-practices

安装后在 Claude Code 中输入/laravel-best-practices确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

rules/
advanced-queries.md
architecture.md
blade-views.md
caching.md
collections.md
config.blade.php
db-performance.md
eloquent.md
error-handling.md
events-notifications.blade.php
http-client.md
mail.blade.php
migrations.blade.php
queue-jobs.md
routing.md
scheduling.blade.php
security.blade.php
style.md
validation.md

详细介绍

Laravel 最佳实践

Laravel 最佳实践,按规则文件索引组织。每个规则文件都会说明应该怎么做以及原因。对于确切的 API 语法,请使用 search-docs 验证。

一致性优先

应用任何规则前,先检查应用程序现有的做法。Laravel 提供了多种有效方案。最佳选择是代码库已经采用的方案,即使从理论上看其他模式更好。不一致比次优模式更糟。

检查同级文件以及相关控制器、模型或测试中已有的模式。如果存在,就遵循它。不要引入第二种做法。这些规则是在尚无既有模式时使用的默认方案,而不是覆盖既有做法的规则。

如何应用

  1. 检查变更文件、附近代码、项目配置和相关测试中已有的模式。只有存在正确性或安全缺陷时才偏离,并明确说明偏离之处。
  2. 将每项受影响的关注点对应到下面的规则索引。编辑前阅读每个对应的规则文件。跳过不相关的规则文件。
  3. 做出最小且完整的变更。沿用应用程序的架构和命名,不要为同一任务引入第二种模式。
  4. 使用 search-docs 验证与版本相关的 Laravel API 是否适用于已安装的版本;如果 search-docs 不可用,则检查已安装的框架。
  5. 先运行范围最小的相关测试;如果变更需要,再运行项目的格式检查和静态分析。
  6. 完成前,对照每条对应规则重新检查差异。

规则索引

跨领域的变更通常需要参考多个规则文件。

关注点阅读
查询数量、预加载、索引、大型数据集rules/db-performance.md
子查询、聚合、复杂排序和查询计划rules/advanced-queries.md
模型、关联、作用域、类型转换rules/eloquent.md
身份验证、授权、输入安全、机密、上传rules/security.md
表单请求和验证规则rules/validation.md
控制器、路由绑定、资源、中间件rules/routing.md
架构变更、列、外键、索引rules/migrations.md
作业、重试、唯一性、批次、Horizonrules/queue-jobs.md
缓存有效期、失效、锁、记忆化rules/caching.md
发出的请求、重试、超时、伪造rules/http-client.md
异常、报告、渲染、日志上下文rules/error-handling.md
事件和通知rules/events-notifications.md
可邮寄对象和邮件断言rules/mail.md
计划任务和防止重叠rules/scheduling.md
集合、惰性迭代、批量操作rules/collections.md
Blade 组件、属性、视图合成器rules/blade-views.md
环境值和应用程序配置rules/config.md
测试:覆盖率、工厂、伪造和断言testing-best-practices 技能
命名、辅助函数、文件边界、PHP 风格rules/style.md
操作、服务、依赖、应用程序结构rules/architecture.md

决策规则

  • 优先使用框架功能和应用程序现有抽象,而不是新增辅助函数或依赖。
  • 避免推测性抽象。只有在形成清晰的领域边界、消除有意义的重复,或使行为能够独立测试时,才提取代码。
  • 不要在 Blade 视图中访问数据库,并防止控制器、资源、作业和序列化过程中出现隐式 N+1 查询。

评论

支持 Markdown