Пример MVC в php. Вводная статья

Содержание цикла статей:

Этой статьей я начну цикл публикаций, в которых попытаюсь ка можно понятней и подробно рассказать о ООП и MVC. Сначала я планировал написать несколько статей конкретно по объектно-ориентированному программированию, не через некоторое время, продумывая структуру статей, я решил не зацикливаться на ООП. Намного злободневней и актуальней является тема паттерна MVC в ООП. Поэтому статьи будут акцентировать внимание не столько на ООП, сколько на подходе MVC в ООП.
Но это не значит, что тема объектно-ориентированного программирования будет рассмотрена вскользь. Дело в том, что в настоящее время большинство сайтов разрабатывается с использованием паттерна MVC. А сам паттерн непосредственно построен на ООП.

Наверно, несколько моих первых предложений вас только запутали :). Перечитав первые абзацы, я понял, что не так просто будет объяснить все выше перечисленное, опираясь только на теорию, и приводя непонятные термины и их расшифровку. Поэтому было принято решение написать готовый рабочий проект на MVC и подробно описывать все выполняемые действия.
И так приступим.
Начнем, с постановки задачи. Правильно поставленная задача и проработка многих мелких аспектов на этапе проектирования проекта одна из важных составляющих в разработке. Это относиться не только к сайтостроению, но и к любому другому рабочему процессу.
Давайте создадим простой блог, который будет работать на структуре MVC. Блог должен иметь главную страницу, несколько разделов для статей, сами статьи; пользователей, которые смогут регистрироваться/авторизовываться и оставлять комментарии. Также блог должен иметь панель управления, через которую администратор блога, сможет без труда управлять статьями, разделами, комментариями и пользователями. На дизайн блога обращать особого внимания не будем, поскольку это тестовый проект и основная цель – это научиться работать с ООП и MVC.
Задача в целом понятна, но прежде чем приступать к реализации все же стоит уделить немного времени на теорию. Что же вообще такое MVC и с чем его едят? Если расшифровать аббревиатуру MVC, то многое сразу становиться понятно: Model-View-Controller.
Паттерн MVC позволяет разделить данные, представление и обработку действий пользователя на три части:
Model — модель предоставляет данные, а также методы для работы с данными. В моделе находиться только логика для получения и обработки данных, она ни как не связана в визуализацией.
View – представление отвечает за отображение – визуализацию.
Controller – контроллер обеспечивает связь между пользователем и системой. Он обрабатывает данные полученные от пользователя, в ходе работы контроллер может использовать данные и методы моделей, а также контролирует вывод данных по средствам представления(view).
Самое явное отличие проектов, использующих в своей основе MVC, это то, что имеется только одна точка входа. Сайт работает по жестко заданной схеме: имеется одна точка входа – скрипт index.php, который обрабатывает все получаемы данные и на их основе строит структуру сайта.
Чтобы было более понятно, посмотрите на картинку, на ней схематично изображена схема работы сайта на MVC.
Пример MVC в php
Для вводной статьи, думаю что, пищи для размышления достаточно. На этом первая статья закончена, в ближайшем будущем будет продолжение. В следующей статье уже появятся исходники, в которых уже наглядно будет продемонстрирована структура MVC.

Рассказать друзьям:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*