跳转至

PHP 模式

本文件使用 PHP 特定内容扩展 common/patterns.md。

薄控制器、显式服务

  • 控制器专注于传输层:认证、验证、序列化、状态码。
  • 将业务规则移到应用/领域服务中,使其易于在不使用 HTTP 引导的情况下测试。

DTO 与值对象

  • 用用于请求、命令和外部 API 负载的 DTO 替换结构复杂的关联数组。
  • 对金额、标识符、日期范围和其他受约束的概念使用值对象。

依赖注入

  • 依赖接口或窄服务契约,而不是框架全局对象。
  • 通过构造函数传递协作者,使其无需服务定位器查找即可测试。

边界

  • 如果模型层做了持久化以外的事,将 ORM 模型与领域决策分离。
  • 用小型适配器包装第三方 SDK,使代码库其余部分依赖自身契约,而不是它们的契约。

参考

技能:请参见 api-design 以获取端点约定和响应形状指南。 技能:请参见 laravel-patterns 以获取 Laravel 特定架构指南。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC