BackEnd & FrontEnd в Yii

теги: Разработка  yii   Раздел: YII Framework

Много статей по тому "Как я реализовал Front и Back". Ну и я решил написать подобную статью, с единственным отступлением от всех.

В большинстве случаев, все предлагают разделить эти части так

Контроллеры у себя в папках
protected/controllers/frontend
protected/controllers/backend

Представления у себя
protected/views/frontend
protected/views/backend

Ну ничего плохого в этом и нет. Контроллеры отдельно, представления тоже. Единственное что все остальное лежит в одном месте. Нет ничего против не имею. Просто, скорее всего под разные задачи это все годиться.

Просто в этих случаях входные файлы, как правило, лежат в корне сайта это index.php и admin.php у которых пути подключения разные и только. И тем самым мы из одного места можем попасть и в админку и на сайт. С одной стороны все здорово, все в одном месте и не нужно искать что где лежит, ведь все разложено по папкам. С другой стороны, все хотят как-то обезопасить вход в админку сайта, сделать для него уникальный путь, да или на худой конец вынести на отдельный поддомен или домен, чем не решение задачи?

моё решение разделения FrontEnd и BackEnd

Ну вот собственно моё решение разделения FrontEnd и BackEnd заключается именно в разделении по поддоменам. Так проще, лично для меня, я не говорю что данное решение просто всегда нужно использовать или что-то еще. Просто при таком подходе мы можем обезопасить вход в админку для злоумышленника. Чем? Ну во-первых, поддомен мы можем придумать любой (admin.sitename.com, panel.sitename.com, ap.sitename.com и т.д.) в общем много чего, и не важно как будет он называться, главное его знаете вы и только. Ну это конечно же один из вариантов, второй случай вы можете иметь 2 сервера 1 для сайта второй для административного интерфейса, а почему бы и нет, если вы воротите горы данных и у Вас много денег на 2 сервака, "красиво жить не запретишь!" (с).

У Вас ведь и БД может висеть на отдельном сервере и сайт и админка, чем черт не шутит.

Итак ближе к телу делу.

admin - админка
framework - фреймворк
protected_admin - все для админки
protected_site - все для сайта
public_html - сайт

 Ну тут вроде бы все должно быть понятно. Мы полностью разделили и контроллеры и представления и модели. Т.к. У нас не будет одинаковых частей кода на сайте и в админке, ну может быть пара тройка скриптов, остальное просто разное. Опять же повторюсь это на моих проектах так, как это у Вас я не знаю и по этому просто высказываю своё решение, вдруг пригодиться.

Ниже можно увидеть внутреннюю структуру.

 

Тут тоже все предельно понятно.

 

Чем это хорошо или плохо.

Контроллеры у себя в папках
protected_admin/controllers
protected_site/controllers

Представления у себя
protected_admin/views
protected_site/views

 Да, вроде как тут все закономерно и понятно, у админке свой конфиг, у сайта свой, что логично, контроллеры, модели, представления не пересекаются, что тоже хорошо, в общем случае как многие пишут в нете их варианты тоже вполне хорошо работают.

Так что это плюсы, что можно взять и перенести все на разные серваки, проблем никаких вообще, только пути изменить, можно и абсолютные или относительные ссылки использовать, никто не запрещает.

Из минусов, ну как и писал выше, может получиться пара тройка одинаковых моделей, но критичности,я думаю, это не составит, да некоторое дублирование информации, но что мы имеем на сайте?

  • авторизация / регистрация / личный кабинет
  • каталог товаров
  • корзина

Вроде как и все, ну можно там баннеры прикрутить, и прочее, но в общем то тут только одни представления и парочка моделей.

Нежели в админке

  • Пользователи / управление / изменение
  • Заказы / статусы / редактирование
  • рассылки по email
  • баннеры
  • страницы
  • каталог товаров
  • акции и скидки
  • пересчеты различные, если это инет магазин, персональных скидок.
  • CRON скрипты
  • логирование действий
  • и прочее, писать непереписать

Разница все же есть! Да пусть что-то, немногое, повторяется, но не могу сказать что прям все! Часть да, пара моделей, контроллеров, но опять же они все равно будут разные для админки и сайта.

Для меня админка  - это сердце сайта! Она не может быть простой, она должна быть простой в плане интерфейсов и её понимания как с ней работать, но вот внутренности обычно и зачастую бывают сложные.

Так что моё дело высказаться, и понять на сколько другим это может помочь или не помочь.

Удачи Yii в помощь!

 

 

 

 

Написана: 12.06.2012 00:00 | Просмотров: 125
Никто не удосужился оставить свой след. Ты можешь стать первым!
Автор
Email
Комментарий
Введите код c картинки: