Где разместить бизнес логику? - PullRequest
0 голосов
/ 20 сентября 2018

Например, я хочу построить проект поверх одной среды PHP.На данный момент я хочу решить проблему со слоем Auth.Мне нужно зарегистрировать нового пользователя в системе и выполнить некоторые задачи после этого.

Итак, где я могу разместить всю связанную бизнес-логику?

Теперь я думаю о Services.Я хочу создать пространство имен App\Services\Auth, куда я помещу все классы, связанные с проблемой.Будет один класс entrypoint, который можно разрешить в контейнере DI.Этот класс предоставит мне метод registerUser, currentUser и другие методы, связанные со слоем Auth.Также в этом пространстве имен я хочу разместить events listeners как SendEmailAfterRegistration и другие.Таким образом, это пространство имен будет содержать всю экосистему, связанную со слоем Auth.И только один класс предоставит мне доступ ко всей этой экосистеме, которую я могу использовать в контроллерах.

Это нормально?Или, может быть, есть еще более «истинные» способы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...