Casual
Освоившийся
Дата регистрации:
13.10.2012 17:58:28
Сообщений: 20
Снова прошу меня извинить, что данная тема не совсем в тематике раздела. На этот раз мне нужен ваш совет относительно разработки структуры сайта. Иными словами на сколько файлов разбивать и что, где обрабатывать.
Например. Стандартный дизайн: шапка, под шапкой вертикальное меню, справа от него основной информационный блок и под ними какой-то "фундамент сайта".
Пусть это будет интернет-магазин, хотя это не принципиально. Щелкнул пользователь по пункту "Книги по web-дизайну" нужно получить от сервера данные,например, о первых 20 книгах из этой категории и отобразит в основном блоке. Щелкнул по конкретному товару - опять обновляем содержимое основного блока и т.д.
По сути у нас меняется только информационный блок. Шапка, меню, фундамент - всегда одни и те же.
Как это проще всего реализовать(про ajax сейчас речи нет)?
Вот у меня возникает искушение все обрабатывать на одной странице, т.е. страница index.php будет иметь примерно такой вид:
<?php
//здесь подключаем стили, javascript,
//выводим заголовок, меню и т.п.
require_once("before_main_block.html"
//в этом файле содержаться все необходимые
//php-функции, которые и выполняют всю работу
require_once ("main.php"
//теперь смотрим в каком режиме находится сайт
//и соответствующим образом обновляем
//основной блок
$state = "showcase";
if ( isset($_REQUEST["state"]) )
$state = htmlentities ($_REQUEST["state"]);
//показываем список товаров
if ($state == "showcase"
renderShowcase ($_REQUEST["category"], $_REQUEST["page"]);
//показываем информацию о конкретном товаре
else if ($state == "view_details"
renderViewDetails ($_REQUEST["item_id"]);
//ну и так далее все возможные режимы
//здесь все, что после основного блока
//закрываем теги html, body и т.п.
require_once("after_main_block.html"
?>
Функции-обработчики renderShowcase, renderViewDetails и другие описаны в файле main.php. Они и выполняют обращение к базе и вывод полученной информации.
И теперь все просто. Щелкает пользователь, например, по кнопке корзина - переходим на index.php?mode=cart и отображаем содержимое его корзины, щелкает по кнопке "научная фантастика" - переходим на index.php?mode=showcase&category=sience_fiction&page=1 ну и так далее.
Чем плох такой подход? Или он не плох? Допустим?Просто,насколько я знаю, сайты обычно состоят из множества страниц.
Я вижу минус только в том, что код index.php сильно разрастется из-за включения в него main.php, в котором содержаться функции на все случаи жизни. С другой стороны основной вес все равно будут создавать различные картинки....
Словом, очень интересно ваше мнение.