Этот урок связан с проектом От новичка до профи в OpenCart

От новичка до профи в OpenCart: Разбор MVC

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

Перед ознакомлением с архитектурой OpenCart, освежим наши знания архитектуры MVC.

Что такое MVC?

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

MVC относится к архитектурным шаблонам проектирования, а её компоненты: контроллер, модель и представление полностью взаимосвязаны.

1. Контроллеры

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

2. Модели

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

3. Представления

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

Давайте разберём порядок действий, который запустятся при переходе по какому-то URL:

  • Контроллер: эй, модель ABC: пользователь хочет получить данные XYZ, передай их мне.
  • Модель: Получаю данные XYZ! Вот, держи.
  • Контроллер: эй, представление ABC, я передаю тебе данные XYZ.
  • Представление: выводит информацию на экране для пользователя.

Работа с MVC в OpenCart

1. Контроллеры

В рамках OpenCart, контроллер так же является первым компонентом MVC. Давайте создадим наш первый контроллер:

  1. Создайте пустой каталог под названием test, catalog/controller/test.
  2. Создайте файл abc.php внутри данной папки, catalog/controller/test/abc.php.
  3. Вставьте следующий код в файл abc.php:
<?php
class ControllerTestAbc extends Controller{
     public function index()
     {
          echo 'Hello World';
          exit;
     }
}
?>

В приведённом примере неявно продемонстрированы некоторые правила OpenCart Framework, которые необходимо соблюдать.

  1. Название класса контроллера должно быть согласно формату Controller(НазваниеПапки)(НазваниеФайла). Запомните: Первые буквы папки и файла должны быть заглавными; так же в названии следует опускать расширение файла.
  2. Метод index() запускается автоматически при вызове контроллера.
  3. Метод index() должен быть публичным.
  4. Не помещайте внутри контроллера HTML, JavaScript, или CSS.

Теперь перейдите по следующему адресу: http://localhost/Opencart/index.php?route=test/abc

Итог

Бинго! Мы создали наш первый контроллер. Просто, не так ли? Думаю для данного урока этого будет достаточно! Контроллер это не только первый компонент MVC; так же он первостепенен по значимости, ведь может существовать и использоваться без применения моделей и представлений.

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

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://code.tutsplus.com/tutorials/from-beginner-to-advanced-in-opencart-understanding-mvc--cms-21627
Перевел: Станислав Протасевич
Урок создан: 26 Ноября 2014
Просмотров: 22967
Правила перепечатки


5 последних уроков рубрики "PHP"

  • Фильтрация данных с помощью zend-filter

    Когда речь идёт о безопасности веб-сайта, то фраза "фильтруйте всё, экранируйте всё" всегда будет актуальна. Сегодня поговорим о фильтрации данных.

  • Контекстное экранирование с помощью zend-escaper

    Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

  • Подключение Zend модулей к Expressive

    Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

  • Совет: отправка информации в Google Analytics через API

    Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

  • Подборка PHP песочниц

    Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

или авторизуйтесь, чтобы добавлять комментарии, оценивать уроки и сохранять их в личном кабинете
  • 26 Декабря 2014 11:13
    kalisto
    Да, нравятся! Спасибо!
  • 22 Февраля 2015 17:00
    zhirny
    Спасибо, хорошие уроки. Как и другие, которые сделаны в формате Попова, то есть простыми словами. Единственное пожелание - к размеру - слишком мало информации в одном уроке. Вот например здесь: рассказано по MVC, потом один элементарный контроллер и всё, конец урока :)
  • 22 Февраля 2015 18:04
    zhirny
    я понял, перевод соответствует оригиналу :) жаль, что там так мало уроков.. но почему бы вам самим не расписать, как работать с этой CMS?
  • 27 Февраля 2015 10:01
    rimvis
    а через сколько лет это будет продолжение опубликовано?
^ Наверх ^