Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
MAGENTO 2
RELEASE EVENT CHERNIVTSI
Как переписать модуль
с Magento 1 на Magento 2?
19 декабря 2015
Радченко Александр
Software Engineer at Eltrino
facebook.com/mulder.ua
vk.com/mulder_ua
olexandr.radchenko@eltrino.com
Модули
Конфигурационные файлы
Что нового?
●
Разбиты на более мелкие файлы
●
Добавлена XSD валидация
Конфигурационные файлы
Как добавить новый модуль
Как добавить новый модуль
Setup
●
Все файлы находятся в директории Setup
●
Все установочные файлы стали классами,
которые имплементируют один из
инт...
Setup
Как добавить новый модуль
php bin/magento module:enable Eltrino_Event
php bin/magento setup:upgrade
php bin/magento module...
Системное меню
Magento 1.9
Системное меню
Magento 2
Routes
Layouts
Handle = routeName_Controller_Action
Контроллеры
ControllerClass::Action => Controller/ActionClass
Контроллеры
●
Каждый экшен должен имплементировать
MagentoFrameworkAppActionInterface
●
Каждый экшен имеет функцию execute...
Контроллеры
Класс Mage::
Magento 1.9 Magento 2
Mage::getModel Factory
Mage::helper
Mage::getSingleton
Mage::getResourceMode
l
Singleton
Dependency Injection
Dependency (зависимость) - это объект, который
может быть использован в классе. Injection
(внедрение)...
Object Manager
ObjectManager - это часть инфраструктуры
фреймворка; данный механизм сработает
автоматически при создании о...
Задачи которые выполняются при
помощи Di и ObjectManager
●
Создание объектов
●
Rewrites
●
Interception (Плагины)
●
Конфигу...
Получение объекта
Получение объекта
Получение объекта
Кодогенератор
Proxy
Proxy в Magento 2 используется для громоздких
объектов с большим количеством зависимостей.
Magento создает обертку н...
Magento plug-ins
Magento plug-ins
Вопросы и ответы
Upcoming SlideShare
Loading in …5
×

Как переписать модуль с Magento 1 на Magento 2

614 views

Published on

"Как переписать модуль с Magento 1 на Magento 2"
Александр Радченко, Eltrino
19.12.2015 - Magento 2 Release Event Chernivtsi
#m2cv

Published in: Software
  • Be the first to comment

Как переписать модуль с Magento 1 на Magento 2

  1. 1. MAGENTO 2 RELEASE EVENT CHERNIVTSI Как переписать модуль с Magento 1 на Magento 2? 19 декабря 2015
  2. 2. Радченко Александр Software Engineer at Eltrino facebook.com/mulder.ua vk.com/mulder_ua olexandr.radchenko@eltrino.com
  3. 3. Модули
  4. 4. Конфигурационные файлы Что нового? ● Разбиты на более мелкие файлы ● Добавлена XSD валидация
  5. 5. Конфигурационные файлы
  6. 6. Как добавить новый модуль
  7. 7. Как добавить новый модуль
  8. 8. Setup ● Все файлы находятся в директории Setup ● Все установочные файлы стали классами, которые имплементируют один из интерфейсов: – InstallSchemaInterface – InstallDataInterface – UpgradeDataInterface – UpgradeSchemaInterface
  9. 9. Setup
  10. 10. Как добавить новый модуль php bin/magento module:enable Eltrino_Event php bin/magento setup:upgrade php bin/magento module:status
  11. 11. Системное меню Magento 1.9
  12. 12. Системное меню Magento 2
  13. 13. Routes
  14. 14. Layouts Handle = routeName_Controller_Action
  15. 15. Контроллеры ControllerClass::Action => Controller/ActionClass
  16. 16. Контроллеры ● Каждый экшен должен имплементировать MagentoFrameworkAppActionInterface ● Каждый экшен имеет функцию execute() которая возвращает MagentoFrameworkControllerResultInterface| ResponseInterface(Redirect, Layout, Json, Forward и др. )
  17. 17. Контроллеры
  18. 18. Класс Mage:: Magento 1.9 Magento 2 Mage::getModel Factory Mage::helper Mage::getSingleton Mage::getResourceMode l Singleton
  19. 19. Dependency Injection Dependency (зависимость) - это объект, который может быть использован в классе. Injection (внедрение) процесса передачи зависимости. Dependency Injection - это дизайн паттерн, который реализует принцип "инверсии управления" для управления зависимостями. То есть, появляется механизм который создает, контролирует и передает объекты в клиентский класс. В Magento 2 ответственность за это берет на себя ObjectManager .
  20. 20. Object Manager ObjectManager - это часть инфраструктуры фреймворка; данный механизм сработает автоматически при создании объектов и не требует вмешательства. В большинстве случаев нас устраивает такое поведение. ВАЖНО! НЕ ИСПОЛЬЗУЙТЕ OBJECT MANAGER ДЛЯ ТРИВИАЛЬНОГО СОЗДАНИЯ ОБЪЕКТОВ.
  21. 21. Задачи которые выполняются при помощи Di и ObjectManager ● Создание объектов ● Rewrites ● Interception (Плагины) ● Конфигурация входящих аргументов класса
  22. 22. Получение объекта
  23. 23. Получение объекта
  24. 24. Получение объекта
  25. 25. Кодогенератор
  26. 26. Proxy Proxy в Magento 2 используется для громоздких объектов с большим количеством зависимостей. Magento создает обертку над классом, реализуя “Lazy Load”. Создать Proxy просто, достаточно дописать окончание ClassNameProxy как и в случае с фабрикой.
  27. 27. Magento plug-ins
  28. 28. Magento plug-ins
  29. 29. Вопросы и ответы

×