Что должно быть лучшей практикой в php, чтобы называть метод точки входа в сервисе, следуя принципам разработки DDD.
То же, что и класс:
class GetSinglePerson {
...
public function getSinglePerson($personId)
{
}
}
Шаблон команды:
class GetSinglePerson {
...
public function execute($personId)
{
}
}
Адаптер шаблон:
class GetSinglePerson {
...
public function handle($personId)
{
}
}
Некоторые замечания, которые не помещаются в комментарии;)
DDD это не архитектура
Называя класс глаголом (GetSinglePerson
) вместо существительного редко встречается в ОО, включая DDD.
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)
{
}
}