spacenear
@spacenear
React Web Developer

Кто может понять правильная ли у меня логика в понимании паттернов в laravel?

Так вот моя логика

1) Client отправил запрос на сервер
2) Middleware обрабатывает его и передает в Controller
3) Controller получает запрос от клиента
4) Controller извлекает данные из базы данных с помощью Repository или заполняет DTO и передает их в Service, где он обрабатывает DTO и записывает в базу данных. Или выполняет другую бизнес-логику в Service а затем возваращает данные в Controller
5) Controller отправляет ответ клиенту

У меня 2 вопроса
Первый: Моя логика близка к хорошим шаблонам программирования или вы можете что-то посоветовать изменить?
Второй: Если я хочу настроить мое приложение при запуске (например, навесить события, инициализировать корзину и т. д.), где я могу это сделать? Может быть, в Middleware? И где я могу записать эту логику? В каком-то Service тоже?
  • Вопрос задан
  • 433 просмотра
Пригласить эксперта
Ответы на вопрос 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
2) Middleware ничего не обрабатывает, этим занимается веб-сервер, энтри-поинт файл public/index.php и HttpKernel.
4) Почему "или"? DTO нужно что бы иметь строгую типизацию филдов и простоту рефактора. Есть параметры с фронта - будь добр DTO, репозиторий при этом к этому не имеет отношения.

Что у тебя в контроллере - сервис, репозиторий или что-то еще - не особо важно, это детали. Главное, что бы это было легко тестить.

Вопросы:
1) да обычная. От доки ее ничто не отличает, потому что она в принципе не диктует что делать дальше контроллера, а практики разные бывают. ДТО - очень и очень хорошая штука, а остальное - очень субьективно.
2) в сервис провайдерах. boot() для всего, register() для регистрации штук в контейнер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 апр. 2024, в 14:03
5000 руб./за проект
16 апр. 2024, в 13:17
5000 руб./за проект