Поиск…


замечания

MVC означает Model-View-Controller. Любое приложение, которое отделяет доступ к данным, бизнес-логику и пользовательский интерфейс, называется MVC. Могут существовать два типа MVC: основанные на соглашениях и основанные на конфигурации. Например, cakePHP основан на согласии, т. Е. Вам просто нужно следовать инструкциям базовой системы, чтобы подготовить ваш модуль всего в нескольких строках. Magento настроен на конфигурацию, т. Е. Вам нужно указать каждую вещь в файле конфигурации вашего модуля, чтобы заставить его работать. Magento имеет файлы Controller (для маршрутизации), Block, Model и Template. Как работает MVC Magento:

  1. Когда вы вводите URL-адрес (например, http://mysite.com/frontname/controller/method/param1/value1/param2/value2) , этот URL-адрес перехватывается одним файлом PHP с именем index.php, который создает экземпляр приложения Magento
  2. Приложение Magento создает экземпляр объекта Front Controller
  3. Кроме того, фронт-контроллер создает объекты Router (указанные в mod.xml модуля, глобальный тег)
  4. Теперь маршрутизатор отвечает за «соответствие» имени, которое находится в нашем URL-адресе
  5. Если найдено совпадение, он видит имя контроллера и имя метода в URL-адресе, который, наконец, вызывается.
  6. Теперь в зависимости от того, что написано в имени действия (имя метода), оно выполняется. Если в нем вызывают какие-либо модели, метод контроллера будет создавать экземпляр этой модели и вызывать метод, который запрашивается.
  7. Затем действие (метод) контроллера создает экземпляр объекта Layout, который вызывает Block, указанный для этого имени действия (метода) (каждое имя действия контроллера имеет связанный с ним блок и файл шаблона, который можно найти в app / design / frontend или adminhtml / файл namespace / module / layout / module.xml, имя файла макета (module.xml) можно найти в файле config.xml этого модуля, в теге обновления макета).
  8. Файл шаблона (.phtml) теперь вызывает соответствующий блок для любого запроса метода. Итак, если вы напишете $ this-> methodName в .phtml-файле, он проверит «methodName» в блочном файле, который связан в файле module.xml.
  9. Блок содержит логику PHP. Он ссылается на модели для любых данных из БД.
  10. Если либо файл Block, Template, либо Controller необходимо получить / установить некоторые данные из / в базу данных, они могут вызвать модель напрямую, как Mage :: getModel ('modulename / modelname').

Понять MVC в Magento

введите описание изображения здесь

MVC Flow в Magento

введите описание изображения здесь



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow