Pascha Опубликовано 17 сентября, 2022 Поделиться Опубликовано 17 сентября, 2022 Множество популярных фреймворков используют шаблон проектирования MVC, и OpenCart не стал исключением. Концепция MVC широко используется в современном веб-программировании, и популярность её в первую очередь в том, что этот шаблон проектирования прост для понимания, и решает довольно распространённые проблемы с разработкой архитектуры проекта. Для тех, кто не знает, MVC представляет из себя архитектуру вида Модель—Представление—Контроллёр. В модели содержатся все основные данные приложения, касательно запросов к базе данных, основной логики, и методов работы. Контролёры в свою очередь являются промежуточным звеном между моделью и представлением, и осуществляют выполнение программы обращаясь к модели и передавая результат в представление. Представление в свою очередь является шаблоном разметки страницы, куда поступают уже готовые данные для вывода на странице. В OpenCart мы можем обращаться к различным моделям, предварительно подгрузив их в контроллере. Загрузка модели в контроллере Существует правило обращения к моделям. Все модели публичной части сайта на OpenCart располагаются в папке /catalog/model. $this->load->model('catalog/information'); Так к примеру, загружая модель, мы подключаем файл information.php из директории /catalog/model/catalog. Модель представляет из себя класс PHP, который именуется особым образом, и может содержать некий набор методов. Мы можем обращаться к этим методам из контролёра, таким образом: $prodList = $this->model_catalog_information->getProdList(); Таким образом, в переменную $prodList попадает массив данных, с которым мы может работать в пределах скрипта контролёра. Передача данных в представление Передать данные представлению мы можем посредством $this->data, предварительно задав название ключа для объекта. $this->data['production'] = $this->model_catalog_information->getProdList(); В представлении эти данные будут доступны в переменной $production. Представление как правило уже содержит разметку HTML, где остаётся сделать вывод данных из переменной. Стоит обратить внимание на то, что посредством объекта $this->data передаются все переменные в файл представления. На практике количество переменных в представлении может быть целое множество. 0 Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.