С чего начинать проектирование проекта под Symfony2 ?

В целях обучения буду писать небольшой проектик на symfony2.
До этого всегда начинал проектирование с базы данных (собственно как и рекомендуют по многим статьям).

Поработав немного в симфони2, почему-то мне очень не привычно стало обитать ее среде после работы с Yii2. Работа с сущностями, генерация геттеров и сеттеров, все это как-то не привычно. Еще я обратил внимание на такую штуку, как то что симфони вначале агитирует создавать классы, а после обновлять базу данных, тоесть создавать таблицы.

Собственно можно ли делать наоборот ? Вначале создает базу, таблицы, а потом скажем на основе таблицы генерируем сущьность или круд например ?

Вообще как правильно начинать проектирование под симфони2 ?
  • Вопрос задан
  • 3237 просмотров
Решения вопроса 3
by25
@by25
Веб-разработчик
Обычно начало разработки начинается с создания бандлов, если проект не большой - достаточно одного AppBundle, если большой - лучше дробить, потом проще будет ориентироваться + возможность повторного использования.

Далее обычно описывается модель (ORM). Про использование команды автогенерации гетеров/сеттеров - я бы не рекомендовал её использовать, т.к. у нас могут быть "свои" методы у entity. К тому же, любая IDE умеет генерировать гетеры/сеттеры автоматически.

После создаем контроллеры + настраиваем роутинг, по необходимости создаем репозитории/менеджеры. Парралельно создаем views, тут уже все должно быть понятно.

Если используете phpStorm ставьте плагины: Symfony2-plugin (незабываем настроить под проект и включить его), PHP Annotations и Symfony Clickable views. Все это сильно упростит разработку.

Если только учите Symfony, я бы посоветовал разобраться с основными подсистемами поглубже (там все очень гибко, но со старта может показаться чересчур сложно, но это так кажется). Начинаем с routing, контейнера-зависимостей, конфигурации, security, form (два последние самые сложные) и попорядку.
Ответ написан
Комментировать
@maxloyko
Как вариант есть возможность генерить сущности по существующей БД вот пример
Симфони не исключение, это просто инструмент, и да, встроенная и продвигаемая фреймворком идеология, это ORM Doctrine, и в ней удобней всего лишь создавать на основе сущностей таблицы в БД, но никто не может вам не может запретить делать обратное.
Не имел дело с Yii2, но работал с RubyOnRails там схожий подход.
Ответ написан
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
Правильно начинать проектирование с создания бандлов и сущностей, одной командой генерятся сеттеры и геттеры, другой база. всё.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы