Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Текст ниже основан на комопоненте view-controller для CMS Joomla 1.5. Для полного понимания статьи можно прочитать создание комопонета «Hello world», где в итоге получается простейший компонент приветствия, который можно считать образцом кода MVC. Он прост и фактически ничего не делает поэтому необходима модель, создание которой мы рассмотрим ниже.
Модель — часть компонента, которая предоставляет данные для вида по его запросу посланому через Контроллер. Такой метод часто освобождает от рутинной работы и от хаоса в коде, предоставляет возможность управлять данными удобным способом в дополнение к коду, который посылает запрос данных из Модели.
Модель будет содержать классы функций: добавить, удалить и модернизировать информацию в таблицах базы данных. В общем основная структура доступа к данным должна быть кратко описана в модели.
При подобной реализации вся обработка данных ложиться на модель и если вдруг случиться такое, что нам необходимо изменить источник данных с MySQL на RSS-ленту, то изменится только модель, не затрагивая всего остального кода — шаблона (он же Вид, Представление, View) и контроллер (controller).
При переносе точки запроса данных в общем алгоритме компонента, вносятся изменение только в код Представления.
В этом уроке, будем моделировать событие компонента «Hello», которое генерирует приветствие. Таким образом в компоненте будет один запрос к модели getGreeting(), который возвратит строку «Hello, World!».
Код модели для компонента "Hello Word"
Строка, которая начинается с jimport - это функция используется, для подключения библиотек Joomla. В данном случае подгружается структура, которая требуются для нашего компонента. Этот специфический запрос загрузит файл
<корень сайта>/libraries/joomla/application/component/model.phpТочки "." используются как директивные слеши, и последняя часть - имя загружаемого файла. Таким образом можно загружать любые библиотеки из директории "libraries".
Это специфический файл содержит определение класса JModel, который является необходимым для нормальной работы модели компонента, поэтому наш класс должен его расширять.
Создав Модель, необходимо изменить Представление - добавить запрос к Модели для получения строки приветствия.
Структура Joomla - организована таким способом, что контроллер автоматически загрузит модель, которая имеет то же название что и представление (view) и передаст доступ к своему классу. Так как Представление называется "Hello", модель "Hello" будет автоматически загружена и опубликована в Представление (view). Поэтому, мы можем легко объявить функцию класса модели, используя метод класса JView::getModel().
В код файла view.html.php вносим изменения. Заменяем строку:
На строку
Так должен выглядеть итоговый код файла view.html.php:
В завершение работы над данной версией компонента, необходима в секцию Site (Front End) добавить файлы Модели:
В итоге мы имеем простой MVC-компонент. Каждый элемент очень прост, но в целом компонент уже обладает более большей гибкостью и возможностью.
Что за постоянный плагиат, куча сайтов и на всех один и тот же пример!!! Вот и кому это может быть интересно! Напишите что-нибудь уже своё, если у Вас есть знания в программировании