<MyRusakov.ru />

Вёрстка сайта с нуля 2.0

Вёрстка сайта с нуля 2.0

Система "Вёрстка сайта с нуля 2.0" содержит в себе не только сами видеоуроки по адаптивной вёрстке сайтов с примерами, но и вспомогательную систему для более эффективного обучения.

Сам курс обучит Вас абсолютно с нуля HTML5 и CSS3, а также научит верстать сайты с помощью реальных примеров вёрстки. Обучение идёт от простого к сложному. В последнем разделе курса идёт обучение адаптивной вёрстке сайтов: Вы узнаете всю необходимую теорию, а также увидите пример реальной адаптивной вёрстки сайта.

Как итог, курс совмещает в себе всё, что нужно по HTML, CSS и адаптивной вёрстке сайтов, с наглядными примерами, с обучением от простого к сложному и без необходимости иметь начальных знаний, а благодаря вспомогательной системе психологически курс проходится очень легко, а на выходе Вы сможете сделать адаптивную вёрстку любого сайта любой сложности.

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

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

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

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

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

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

Подход MVC (Model-View-Controller)

Подход MVC (Model-View-Controller)

В предыдущей статье мы с Вами обсуждали проблему связки PHP и HTML. Я в конце той статьи сказал, что есть некоторые решения, которые немного исправляют ситуацию, однако, они не без недостатков. Так вот самый популярный из них - это подход MVC (Model-View-Controller). И, на самом деле, данный подход является основой для всех остальных. Фактически, MVC ценен не своей "красотой решения", а прекрасной концепцией, к которой надо стремиться.

В основе MVC лежат 3 элемента: Модель, Шаблон и Контроллер. Давайте разберём каждый из них:

  • Шаблон (View) - это весь внешний вид страниц. Фактически, это набор HTML-файлов, каждый из которых отвечает за отдельную страницу. За Шаблон отвечает дизайнер.
  • Модель (Model) - это набор низкоуровневых функций. Например, по работе с базой данных, по аутентификации пользователей, по отправке e-mail сообщений и так далее. Другими словами, это служебные функции, реализация которых, вообще говоря, скрыта. За эту часть, безусловно, отвечает программист.
  • Контроллер (Controller) - это связующее звено между Шаблоном и Моделью. Сюда приходят данные из Шаблона (например, при отправке форм), сюда же приходит ответ от Модели, и именно Контроллер решает, какой шаблон выбрать. За Контроллер отвечает также программист.

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

Предположим, нам надо вывести комментарии на страницу. Вот как это может выглядеть:

<?php
  require_once "model.php"; // Подключаем Модель
  $comments = getComments(); // Некая функция в Модели, возврающая двумерный массив с комментариями
  include "index.html"; // Вывод шаблона
?>

Вот кусок кода из index.html, где выводятся комментарии:

<?php
  for ($i = 0; $i < count($comments); $i++) {
    echo "<li><b>".$comments[$i]["name"].":</b> ".$comments[$i]["text"]."</li>";
?>

Остальная часть - это обычный HTML-код. Как видите, мы пытались избежать PHP-кода в Шаблоне, но у нас это не получилось. Простейший цикл завёл нас в тупик. Тоже самое будет, если потребуется какое-нибудь условие, и вновь без PHP не обойтись. Другой минус, не менее серьёзный, состоит в том, что именно Контроллер решает, какие блоки и выводить на странице. Хотя, что выводить, является задачей дизайнера, а не программиста.

Вывод из этого неутешительный - чистый MVC на практике применять нецелесообразно, но поскольку сама концепция отличная, то в дальнейшем мы с Вами будет развивать подход MVC.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (1):

brussens brussens 07.09.2012 08:54:05

Добавлю от себя: 1. На одну таблицу приходится одна модель. Т.е. за таблицу users отвечает модель Users? если есть связанные данные, например users.id и news.author.id, то тут описание связей в модели, например можно использовать InnoDB. 2. MVC стоит использовать , если вы понимаете, для чего этот паттерн. Если нет понимания, то читать про паттерны) P.S.: статья очень хорошая, в своё время пренебрегал MVC, но когда начал использовать Yii осознал всю прелесть этого паттерна)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.