Чи правильний, підхід до проектування програми в symfony 3
Раніше я дуже довго просидів на Yii2, потім мігрував на Laravel5, тепер потрібно починати осягати новий дзен.
Питання буде щодо підходу до проектування програми (не розглядаємо DDD).
Я організував якийсь репозиторій, який буде обгорткою над доктринівським репозиторієм:
Запитань кілька:- Чи правильно на кожну дію (створити/редагувати/видалити) робити свій хендлер (наприклад ProductCreateHandler) ?
Заберіть методи save та delete. Не треба тягнути старі звички на нову систему. Symfony та Doctrine використовують DataMapper, а не ActiveRecord
Хендлер – це entity_manager
У контексті AppBundle вам не потрібні інтерфейси та інша абстракція – це реально зайво, за винятком моментів, коду ви працюєте або з доменними моделями, які лежать у папці vendor або навпаки – ви самі vendor та AppBundle має залежати від ваших інтерфейсів.
Припускаю, що 90% ваших питань, пов'язаних з архітектурою, ви знайдете у відповідях Сергій Протько
При роботі з Symfony 80% часу має витрачатися виключно на конфігурацію програми. Почитайте "Найкращі практики" і якщо у вас виникають питання, "а як це сюди встромити" - повірте, google вас не підведе, все набагато простіше, ніж здається.
"Чи буде правильно на кожну дію (створити/редагувати/видалити) робити свій хендлер" - немає, звичайно ж. Навіщо вам плодити на кожну дію за класом тільки для того, щоб викликати в ньому буквально пару рядків.
Щодо статей. Посвіжіше, правда. Сходіть на github і подивіться на найпопулярніші бандли.