OpenCart — от новичка до профессионала: Теория MVC

29 Мая 2022г. в 05:07

Что такое MVC?
Архитектура MVC широко используется в современном веб-программировании. Многие из популярных фреймворков используют MVC; однако это не приложение, это шаблон проектирования — предписанное решение общей проблемы, организованное в коде. Данный шаблон проектирования также известен, как архитектурный шаблон. MVC можно рассматривать как архитектуру на основе уровней. То есть контроллер, модель и представление представляют собой три уровня, каждый из которых связан с другими.



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

Модели
Модели содержат основные данные программы, такие как информация из объектов базы данных и SQL-запросов. Все данные получаются из моделей; однако модели нельзя вызвать напрямую — контроллер запрашивает в модели конкретные данные, а модель выполняет запрос и возвращает данные на этот контроллер.

Представления
Представление — это последний уровень архитектуры MVC, который содержит пользовательский интерфейс программы. В веб-приложениях представление содержит коды HTML, CSS, JavaScript, XML или JSON и т. д. Представление является видимым для пользователя уровнем, тогда как модели и контроллеры скрыты от пользователя. Давайте смоделируем в виде беседы ситуацию, когда пользователь переходит по определенному URL-адресу:

Контроллер: Эй, модель ABC: пользователю нужны данные XYZ, пожалуйста, передайте их мне.

Модель: Держи данные XYZ! Вот.

Контроллер: Эй, представление ABC, я передаю тебе данные XYZ.

Представление: Отображает информацию на странице для просмотра пользователем.

MVC в OpenCart
Контроллеры. Как было сказано, контроллер является первым уровнем архитектуры MVC. Итак, давайте рассмотрим это в контексте нашего сайта. Мы создадим новый контроллер, чтобы вы лучше поняли этот предмет. Создайте пустую папку test в каталоге контроллеров, т.е. catalog/controller/test.

Создайте PHP-файл abc.php в папке test, то есть catalog/controller/test/abc.php. Измените файл abc.php в своей IDE и добавьте в него следующий код:

<?php
class ControllerTestAbc extends Controller{
public function index()
{
echo 'Hello World';
exit;
}
}
?>
<?php
class ControllerTestAbc extends Controller{
public function index()
{
echo 'Hello World';
exit;
}
}
?>
В приведенном выше примере отображены некоторые ограничения OpenCart Framework, которым программист должен следовать неуклонно.

Имя класса контроллера должно быть следующим — Controller(ИмяПапки)(ИмяФайла). Помните: первая буква, относящаяся к имени папки и имени файла должна быть в верхнем регистре, в имя класса не включается расширение файла.

index() — это основная функция, которая выполняется автоматически при вызове контроллера

Функция index() должна быть публичной.

Не используйте в контроллере HTML-, JavaScript- или CSS-код.

Теперь в браузере откройте URL-адрес: //localhost/Opencart/index.php?route=test/abc

Заключение
Бинго! Вы создали свой первый контроллер. Контроллер — это первый и самый важный уровень MVC, поскольку MVC может существовать без модели и представления, но без контроллера — нет. В нашей следующей статье мы будем создавать модели и представления, а также рассмотрим параметр маршрута относительно контроллера. Надеюсь, вам понравилась эта статья. Всего наилучшего!