<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Проектирование структуры сайта
20.10.2012 14:58:35 Проектирование структуры сайта Сообщение #1
Casual

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, в котором содержаться функции на все случаи жизни. С другой стороны основной вес все равно будут создавать различные картинки....

Словом, очень интересно ваше мнение.
Профиль Ответить
21.10.2012 10:42:53 Проектирование структуры сайта Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Универсального способа конечно нет. Обычно делают либо как Вы описываете - весь функционал находится в одном php файле, который и выводит необходимую страницу, в зависимости от запроса. Тут желательно чтобы структура всех страниц была однотипной, иначе это файл быстро раздуется до нечитабельных размеров и разбираться с ним будет сложно. Либо делают многостраничный вариант, это лучше для случая, когда у Вам много самых разнообразных страниц по структуре. Тогда там будет уже несколько шаблонов страниц, заполняющихся контентом из базы по запросу.
Профиль Ответить
24.10.2012 13:14:21 Проектирование структуры сайта Сообщение #3
Casual

Casual

Освоившийся

Освоившийся

Дата регистрации:
13.10.2012 17:58:28

Сообщений: 20

Понятно. Спасибо. Значит предложенный мной вариант тоже применяют.
Но, вот если не секрет, как у вас сделано?
Вот на этом сайте меняется только средняя часть. Заголовок, правая и левая панели всегда одни и те же. Тем не менее у вас много страниц - под каждый пункт меню своя страница.
Профиль Ответить
24.10.2012 19:17:41 Проектирование структуры сайта Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

У меня вариант с множеством шаблонов. Делать единый обработчик под все виды страниц было бы очень сложно.
Профиль Ответить