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

334

Від автора: у попередній статті ми розглянули основні принципи побудови додатків OpenCart. Сьогодні ми продовжимо розгляд шаблону проектування, використовуваного OpenCart MVC, і навіть напишемо власний контролер. Перш ніж вивчати архітектуру коду в OpenCart, ми спочатку розглянемо архітектуру Модель-Представлення-Контролер (MVC).

Що таке MVC?

Архітектура MVC широко використовується в сучасному веб-програмуванні. Багато хто з популярних фреймворків використовують MVC; однак це не програма, це шаблон проектування — запропоноване рішення загальної проблеми, організоване в коді. Даний шаблон проектування також відомий, як архітектурний шаблон. MVC можна розглядати як архітектуру на основі рівнів. Тобто контролер, модель і подання являють собою три рівні, кожен з яких пов’язаний з іншими.

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

Контролери

Контролери здійснюють управління програмою. Контролер відповідає за потік програми. У MVC веб-додатках це також перший рівень, який викликається, коли браузер звертається до URL-адресою.

Моделі

Моделі містять основні дані програми, такі як інформація з об’єктів бази даних і SQL-запитів. Всі дані виходять з моделей; однак моделі не можна викликати напряму — контролер запитує в моделі конкретні дані, а модель виконує запит і повертає дані на цей контролер.

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

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення

Подання

Уявлення — це останній рівень архітектури 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 і додайте в нього наступний код:

У наведеному вище прикладі відображені деякі обмеження OpenCart Framework, яким програміст повинен слідувати неухильно.

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

index() — це основна функція, яка виконується автоматично при виклику контролера

Функція index() повинна бути публічною.

Не використовуйте в контролері HTML, JavaScript або CSS-код.

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

Висновок

Бінго! Ви створили свій перший контролер. Контролер — це перший і найважливіший рівень MVC, оскільки MVC може існувати без моделі та подання, але без контролера — ні. У нашій наступній статті ми будемо створювати моделі і подання, а також розглянемо параметр маршруту щодо контролера. Сподіваюся, вам сподобалася ця стаття. Всього найкращого!

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

Інтернет-магазин на OpenCart!

Створити інтернет-магазин на самій популярної CMS OpenCart з нуля!

Приступити до створення