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 
Magento is an eBay Inc. company. © 2013...
О себе 
Капля Антон 
Ведущий программист в Magento 
В компании с 2010 года 
Активности: 
 Консультирование клиентов 
 Со...
2 
© 2013 Magento, Inc. Page | 3 
Just for fun 
Материалы данной презентации 
предназначены для улучшения 
понимания принц...
Magento 2 очень большой 
© 2013 Magento, Inc. Page | 4 
продукт
Задачи которые мы решаем каждый день до релиза 
 Ускорить разработку - сейчас модулей, 
завтра расширений 
 Упростить со...
Какие задачи решает Object Manager 
 Создание экземляров объектов 
 Кеширование общих объектов 
 Настройка реврайтов 
...
Object Manager – сердце 
© 2013 Magento, Inc. Page | 7 
Magento
Что еще нужно знать что б начать кодгенерировать в Magento 
 Используется Zend Code Generator 
 В DefenitionFactory зада...
Режимы работы 
 Режим для разработчика – все классы будут созданы 
по востребованию 
 Режим для магазина – все объекты д...
Расширяемость 
 Сгенерированный код закрыт для изменений, ни кто из ваших 
коллег никогда не напишет там что то неожиданн...
Как это уже используется в Magento 
 Factory 
 Proxy 
 Interceptor 
© 2013 Magento, Inc. Page | 11
3 Самое время залезть в код 
© 2013 Magento, Inc. Page | 12
Плюсы / Минусы 
 Не нужно поддерживать абсолютно тривиальный код 
 Кодогенерация существенно так ускоряет разработку 
 ...
Домашняя заготовка 
 Вы используете известный или не очень паттерн для решения 
задач в своем модуле. 
 Вы хотите упрост...
Вопросы? 
© 2013 Magento, Inc. Page | 15
Upcoming SlideShare
Loading in …5
×

Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento

282 views

Published on

Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento

  1. 1. Занимательная кодогенерация Подойдет, даже для самых маленьких любителей Magento Magento is an eBay Inc. company. © 2013 Magento, Inc. All rights reserved.
  2. 2. О себе Капля Антон Ведущий программист в Magento В компании с 2010 года Активности:  Консультирование клиентов  Соавтор частичной реиндексация в 1.13  Новый FPC с поддержкой Varnish.  Компоненты ценообразования Сейчас занимаюст развитием Sales модулей. © 2013 Magento, Inc. Page | 2
  3. 3. 2 © 2013 Magento, Inc. Page | 3 Just for fun Материалы данной презентации предназначены для улучшения понимания принципов Magento 2. И не является безапелляционной инструкцией разработчику.
  4. 4. Magento 2 очень большой © 2013 Magento, Inc. Page | 4 продукт
  5. 5. Задачи которые мы решаем каждый день до релиза  Ускорить разработку - сейчас модулей, завтра расширений  Упростить сопровождение, как себе так и комюнити  Уйти от рутинной работы, и максимально переложить ее на Framework © 2013 Magento, Inc. Page | 5
  6. 6. Какие задачи решает Object Manager  Создание экземляров объектов  Кеширование общих объектов  Настройка реврайтов  Запуск плагинов  Создание нового кода © 2013 Magento, Inc. Page | 6
  7. 7. Object Manager – сердце © 2013 Magento, Inc. Page | 7 Magento
  8. 8. Что еще нужно знать что б начать кодгенерировать в Magento  Используется Zend Code Generator  В DefenitionFactory задается перечень подключенных генераторов  Утилиты для работы с файловой системой  Magento использует суфикс для поиска генератора © 2013 Magento, Inc. Page | 8
  9. 9. Режимы работы  Режим для разработчика – все классы будут созданы по востребованию  Режим для магазина – все объекты должны быть созданы заранее  Все генерируемые классы могут быть созданы скриптом dev/tools/Magento/Tools/Di/compiler.php © 2013 Magento, Inc. Page | 9
  10. 10. Расширяемость  Сгенерированный код закрыт для изменений, ни кто из ваших коллег никогда не напишет там что то неожиданное для вас  Код можем быть подменен пользовательской реализацией  В случае если класс с указным именем уже существует Magento не будет создавать его заново © 2013 Magento, Inc. Page | 10
  11. 11. Как это уже используется в Magento  Factory  Proxy  Interceptor © 2013 Magento, Inc. Page | 11
  12. 12. 3 Самое время залезть в код © 2013 Magento, Inc. Page | 12
  13. 13. Плюсы / Минусы  Не нужно поддерживать абсолютно тривиальный код  Кодогенерация существенно так ускоряет разработку  Стандартизирует подходы  Код не подсвечивается в IDE  Нужно помнить о суфиксах © 2013 Magento, Inc. Page | 13
  14. 14. Домашняя заготовка  Вы используете известный или не очень паттерн для решения задач в своем модуле.  Вы хотите упростить работу интеграторам использующим ваш модуль  В конце концов, Вы хотите зафиксировать паттерн так что б его не перевыдумывли каждые пол года © 2013 Magento, Inc. Page | 14
  15. 15. Вопросы? © 2013 Magento, Inc. Page | 15

×