Yii best practice?

Здравствуйте, нужно быстро въехать в YII, документация хоть и отличная, но YII несколько отличается от остальных фреймворков и не очень понятно как вообще структурировать проект.

1 Когда стоит использовать Компоненты, Модули, Виджеты, и как все это объединить вместе?
2 Насколько я понял YII сначала необходимо создать таблицы в БД потом на их основе с помощью gii можно генерировать модели, контроллеры, CRUD. Можно ли сделать так чтобы таблицы в БД создавались автоматически, на основе тех же моделей? Как лучше всего это делать?
3 YII очень гибок, есть много вариантов сделать одно и тоже но как хорошо организовать структуру директорий? какой функционал куда выносить?
  • Вопрос задан
  • 4201 просмотр
Пригласить эксперта
Ответы на вопрос 4
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
Компонент - это php класс с каким-нибудь функционалом, виджет набор компонентов + html код, модуль отдельный раздел на сайте, на пример аккаунт. вроде так в первом yii было. Во втором не знаю, но личное имхо лучше первый уже не использовать, не особо он гибок. А вот что на самом деле гибкое так это Symfony2 , но он и сложнее будет в изучении. В пользу симфони скажу что там есть автоматическая генерация таблиц в БД на основе моделей + миграции.
Ответ написан
изучайте yii2 и смотрите примеры приложений в офиц. репозитории.
Ответ написан
Комментировать
@mukhtar
Для начала советую вот эту структуру https://github.com/yiisoft/yii2-app-basic
Модули обычно я создаю для новостей,для блога, для магазина, для страниц и т.д. Это очень удобно и ты можешь их в дальнейшем подключать и на другие сайты.
Советую изучить миграции. С помощью gii я генерирую модели , контроллеры , но потом конечно много чего там меняю под свои нужды.
Компоненты и виджеты я обычно создаю в модулях. Ну и поведения очень мощная вещь. Советую к ним присмотреться и изучить.
И еще одна структура организации проекта от разрабочиков https://github.com/yiisoft/yii2-app-advan . Очень мощная и гибкая вещь, но мне кажется это для больших проектов в основном предназначена.

Вот еще демо блог https://github.com/vova07/yii2-start . Там много полезного много почерпнуть.
Ответ написан
Комментировать
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Можно ли сделать так чтобы таблицы в БД создавались автоматически, на основе тех же моделей?

Так не получится по целому ряду причин. Но главная - писать модель дольше, чем создать таблицу в БД, поэтому проще делать БД и генерить к ней модель
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы