mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 21:53:28 +08:00
1.1 KiB
1.1 KiB
paths
| paths | ||
|---|---|---|
|
PHP 设计模式
本文档在 common/patterns.md 的基础上,补充了 PHP 相关的内容。
精炼控制器,明确服务
- 保持控制器专注于传输层:认证、验证、序列化、状态码。
- 将业务规则移至应用/领域服务中,这些服务无需 HTTP 引导即可轻松测试。
DTO 与值对象
- 对于请求、命令和外部 API 负载,用 DTO 替代结构复杂的关联数组。
- 对于货币、标识符、日期范围和其他受约束的概念,使用值对象。
依赖注入
- 依赖于接口或精简的服务契约,而非框架全局变量。
- 通过构造函数传递协作者,这样服务就无需依赖服务定位器查找,易于测试。
边界
- 当模型层职责超出持久化时,应将 ORM 模型与领域决策隔离。
- 将第三方 SDK 封装在小型的适配器之后,使代码库的其余部分依赖于你的契约,而非它们的。
参考
参见技能:api-design 了解端点约定和响应格式指导。
参见技能:laravel-patterns 了解 Laravel 特定架构指导。