Одним из самых важных и сложных моментов, предшествующим разработке архитектуры приложения, это сбор требований и моделирование бизнес-процессов.
Не важно, внтутренний или внешний заказчик, не важно будет in-house или outsource разработка, вначале требуется понять ЧТО требуется сделать,КАКИЕ объекты будут в будущей системе и КАКИЕ сценарии должны происходить. И если ваше будущее приложение немного сложнее, чем красная кнопка с функционалом оставить отзыв, то в сложном бизнес-процессе будет присутствовать большое количесство объектов и вариантов сценариев с ними.
Но зачастую такие знания о процессах, которые должны происходить в системе при различных условиях, о возможных состояниях объектов в системе и условиях переходов из одного состояния в другое, не описаны в едином источнике знаний. Знания и понимание как должно быть могут немного содержаться в устаревшей документации, разумеется у product manager, project manager, у программистов и у многих других сотрудников компании, в том числе у собственника бизнеса.
И для такого моделирования уже существуют способы разной степени сложности и затратности по времени, но на их фоне очень выгодно выделяется подход Event Storming, введеный итальянским программистом Альберто Брандолини, успешно используемый им в контексте DDD.
Индексы позволяют повысить производительность базы данных.
Индекс — специальная структура данных, которая связана с таблицей и создается на основе данных, содержащихся в ней. Основная цель создания индексов — повышение производительности функционирования базы данных.
В версиях Symfony до 4.0 было рекомендовано организовать собственный код приложения через использование бандлов. Это больше не рекомендуется, и бандлы следует использовать только для совместного использования кода и функций между несколькими приложениями.
Бандлы похожи на плагины в другом программном обеспечении, но даже лучше.Основные функции фреймворка Symfony реализованы с помощью бандлов (FrameworkBundle, SecurityBundle, DebugBundle и т. Д.). Они также используются для добавления новых функций в ваше приложение через сторонние бандлы.
Работаете с современными фронтенд-фреймворками, например Vue.js? Тогда Вам потребуется установить в операционной системе Ubuntu Node.js и NPM и сделать это возможно менее чем за 2 минуты!
Пример установки, показанный ниже, производился на операционной системе Ubuntu 20.04. Читать далее
Фреймоворк Symfony предоставляет самый удобный вариант работы с БД через ORM Doctrine. Это утверждение может показаться спорным для многих, но если за вашими плечами опыта есть опыт с Active Record в Yii2 или Laravel, то многое для Вас будет непривычным, но равнодушными вы не останетесь точно.
Здесь многое удобно. Например для отражения изменений вашей сущности на БД, Вам достаточно одной консольной команды.