seoperin
@seoperin
Full stack web developer. Laravel / Vue

Логика разделения frontend и backend на Yii2 advanced?

Доброго вечера! С фреймворками знаком совсем немного, да и вообще опыта программирования практически нет (занимаюсь вёрсткой). Сейчас постигаю основы программирования, уже даже освоился в куче новых терминов (composer, миграции, поведения...). Но вот по Yii2 (особенно advanced) очень мало инфы, не хватает пошаговых мануалов. Но вопрос сейчас о другом... В версии advanced у нас идёт жесткое разделение на frontend и backend. В какой из этих частей нужно создавать модели и контроллеры? Создав модель (например country) и сосздав crud в backend, как обращаться из фронтенда к тому что создавалось для бэкенда? И вообще правильно ли я понял, что модели и круды создаются в бэкенде а во фронте идет только обращение к ним и вытаскивание информации? Помогите пожалуйста понять логику с этим разделением... Не пинайте сильно новичка
  • Вопрос задан
  • 8028 просмотров
Решения вопроса 2
ValentinSaik
@ValentinSaik
Backend-Developer
Если тебе нужно будет работать с моделями / формами и на фронтенде и на бэкенде то помещай их в папку common/models, например модель Users с помощью которой ты выводишь список пользователей, она тебе будет нужна как в фронтенде так и в админке, ее следует поместить в коммон, если же ты пишешь например модель Comments которая будет выводить комментарии к определенному посту, но ты не будешь выводить комментарии в админке то помещай эту модель в папку frontend/models, удобнее будет подключить ( use app/models/Comments; ) если же тебе надо вывести какую то статистику только в админке то создавай модели в папке backend/models.
Но ничего страшного не случится если ты модель создашь не в той папке, просто надо будет менять путь подключения в нейсмпейсе. А вот с контроллерами тут по другому, их ты создаешь только в нужном приложении, если создаешь контроллер StatisticsController который будет выводить какую то статистику то помещать его надо именно в бэкенд, потому что заходить на него ты будешь из админки, если же ты хочешь что бы он был доступен и из админки и из фронтенда - создай 2 контроллера. Надеюсь все понятно изложил
Ответ написан
booomerang
@booomerang
Разработчик крутизны
Есть еще папка common, в которой может храниться, то что относиться к обоим приложениям.
Вообще не важно где создавать модельки (не контроллеры), потому что всё равно по неймспейсам получаешь их лоадинг в нужном месте... (Но легче всего создавать в common'e).
А вот контроллеры это уже сам решай, где тебе их создавать, потому что они идут как пути, они получают на вход данные из урла, и скорее всего будут отличаться у фронта и бэкенда.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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