Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уточнение по выбору контроллеров сайта, Как бы сделали вы? 
:(
    Опции темы
Ilfirin
  Дата 19.9.2012, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Strider



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.10.2008
Где: Surreal world

Репутация: нет
Всего: нет



Начинаю разрабатывать сайт компании. Главная задача: реализовать базовый функционал и в дальнейшем безболезненно добавлять
новые возможности. Я выбрал шаблон MVC (Yii-framework).

Не могу толком разобраться, какой набор контроллеров мне использовать, чтобы добиться максимальной гибкости.

Допустим сайт имеет:
  • Главная страница
  • Новости/Статьи
  • Файловый раздел
  • Админка
  • Контакты
  • Форма обратной связи
  • О компании
  •  Список услуг
  • Форум
Какой вариант мне лучше выбрать?

1) Статические страницы (Главная страница, Контакты, О компании, Список услуг) загружать из DB и использовать для этого например StaticPageController.php. 
Для новостей, форума, админки, формы обратной связи использоваться свои контроллеры.

2) Сделать всего 2 контроллера на сайте: Frontend и Backend (admin).
FrontEnd будет проверять свои параметры и в соответствии с ними загружать соответствующие действия:
sitename.com/page/static/home
sitename.com/page/static/contacts
sitename.com/page/forum/thread/ и т. д.
Слово page потом удалить через mod_rewrite.
Плюсом этого метода я вижу, что не нужно постоянно дублировать в контроллерах загрузку шаблона и отправку страницы клиенту.

3) ещё какой-нибудь способ?

Как вообще это делается на крупных проектах?

И ещё вопрос (не по теме, конечно).
Какой нынче шаблонизатор в моде (удобен и гибок)? Использовать для этого PHP или, например, Smarty?

Это сообщение отредактировал(а) Ilfirin - 19.9.2012, 09:14
PM ICQ   Вверх
Sanchezzz
Дата 19.9.2012, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 41
Всего: 60



Цитата
И ещё вопрос (не по теме, конечно).
Какой нынче шаблонизатор в моде (удобен и гибок)? Использовать для этого PHP или, например, Smarty?
 Не какой. PHP сам по себе шаблонизатор а вы пытаетесь загнать его в жосткие рамки))
Если вы пишите на Yii забудьте про шаблонизаторы это ломает принцип использование представления (view)

Что по гибкости то для каждого уникального типа контролера должен быть уникальный контроллер и модель управления.
Что бы потом не попасть в просак поменял в одном месте поменялось везде где не нужно.

У меня еще не было надобности реализовывать промежуточные контролеры на Yii. Хоть это и будет считается велосипедом чистой воды))
Что я имею виду под промежуточным контроллером:
Это такой же контроллер но имеет функцию которая делится на условия цепочки
1
Проверяют путь и проверяет если данные для текстовой страницы В БД, если есть данные выводится контролер текстой информации
2
Если первое условие не прошло то вызывается контролер по условию если такого контролера нет 404 ошибка.

Текстовые страниц редактируются через другой контролер для админки.

Это дает мне создавать уникальные пути для статичных страниц от / корня сайта а не /content/page/([0-9]+)Имя страницы в русском или другом языке. ( где content  - это контролер / page - метод / ([0-9]+) это параметр

Можно было конечно поисзвращятся с базовым классом написать свой роутер разбора url и определить в конфиге Yii

Yii использую только в проектах за которые мне платят
Потому что кто будет поддерживать сайт наверника будет знать Yii и где искать документацию вот отличии от собственного фреймворка-вилосипеда.

Ктому же Yii хорошо вылизан для инструмента.


Это сообщение отредактировал(а) Sanchezzz - 19.9.2012, 10:34


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ilfirin
Дата 19.9.2012, 11:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Strider



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.10.2008
Где: Surreal world

Репутация: нет
Всего: нет



Sanchezzz, спасибо. Все просто и доступно. Я тоже склонялся к первому варианту. Смущало только то, что в каждом таком контроллере постоянно надо выполнять процедуру вывода html.
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0814 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.