繁体   English   中英

PHP DDD如何命名入口点方法?

[英]PHP DDD how to name entry point method?

在遵循DDD设计原则时,php中最好的做法是在服务中命名入口点方法。

与班级相同:

class GetSinglePerson {
     ...

     public function getSinglePerson($personId)
     {
     }
}

命令模式:

class GetSinglePerson {
     ...

     public function execute($personId)
     {
     }
}

适配器模式:

class GetSinglePerson {
     ...

     public function handle($personId)
     {
     }
}

一些评论不适合评论;)

  • DDD 不是架构

  • 在包含DDD的OO中,使用动词( GetSinglePerson )而不是名词命名类是不常见的。

  • Execute是命令术语 - GetX通常不是命令而是查询 - 请参阅CQRS

  • 单方法服务并不常见,更不用说以它们公开的唯一操作命名的服务。 通常,您可以将操作组合为具有更高级别名称(如PersonService

这完全取决于你。 我会阅读PSR-1基本编码标准,它有我希望大家都遵循的指导方针。 :)

只要你保持一致,那就重要了。

本段特别适用于我,并适用于这个问题/情况。

4.2。 属性

本指南有意避免任何有关使用$ StudlyCaps,$ camelCase或$ under_score属性名称的建议。

无论使用何种命名约定,都应该在合理的范围内一致地应用。 该范围可以是供应商级别,包级别,类级别或方法级别。

4.3。 方法

方法名必须在camelCase()中声明。

我会使用索引。 如果您正在使用laravel或codeigniter之类的东西,它应该像/ GetSinglePerson / {personId}那样进行路由

class GetSinglePerson {
     ...

     public function index($personId)
     {
     }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM