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

Mais conteúdo relacionado

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

О разработке сайтов в целом
О разработке сайтов в целомО разработке сайтов в целом
О разработке сайтов в целомUplab_University
 
Преимущества программы SiteEdit
Преимущества программы SiteEditПреимущества программы SiteEdit
Преимущества программы SiteEditАндрей Кодинцев
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовYana Brodetski
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииSQALab
 
Учиться программировать дорого? Нет, бесплатно!
Учиться программировать дорого? Нет, бесплатно!Учиться программировать дорого? Нет, бесплатно!
Учиться программировать дорого? Нет, бесплатно!Alexander Babich
 
Python и Django – платформа для фрилансера
Python и Django – платформа для фрилансераPython и Django – платформа для фрилансера
Python и Django – платформа для фрилансераAlexander Koshelev
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Fwdays
 
презентация Convertrocket
презентация Convertrocketпрезентация Convertrocket
презентация ConvertrocketConvertrocket.ru
 
Проектирование большого интернет-магазина
Проектирование большого интернет-магазинаПроектирование большого интернет-магазина
Проектирование большого интернет-магазинаArtem Markov
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииsportgid
 
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...ITGinGer
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеMykhail Galushko
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...Sergey Ponomarev
 

Semelhante a Антон Капля - Meet Magento Ukraine - Кодогенератор в Magento (20)

О разработке сайтов в целом
О разработке сайтов в целомО разработке сайтов в целом
О разработке сайтов в целом
 
Преимущества программы SiteEdit
Преимущества программы SiteEditПреимущества программы SiteEdit
Преимущества программы SiteEdit
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектовМодуль 15. Лекция 57-58. Обзоры платформ для различных проектов
Модуль 15. Лекция 57-58. Обзоры платформ для различных проектов
 
Анти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграцииАнти шаблоны непрерывной интеграции
Анти шаблоны непрерывной интеграции
 
Учиться программировать дорого? Нет, бесплатно!
Учиться программировать дорого? Нет, бесплатно!Учиться программировать дорого? Нет, бесплатно!
Учиться программировать дорого? Нет, бесплатно!
 
Python и Django – платформа для фрилансера
Python и Django – платформа для фрилансераPython и Django – платформа для фрилансера
Python и Django – платформа для фрилансера
 
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
Евгений Жарков "Как быть хорошим фронтенд-разработчиком"
 
презентация Convertrocket
презентация Convertrocketпрезентация Convertrocket
презентация Convertrocket
 
Проектирование большого интернет-магазина
Проектирование большого интернет-магазинаПроектирование большого интернет-магазина
Проектирование большого интернет-магазина
 
Разработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализацииРазработка интернет-магазина: от идеи до реализации
Разработка интернет-магазина: от идеи до реализации
 
Agile & .net
Agile & .netAgile & .net
Agile & .net
 
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...
MPD2011 | Андрей Михайлов "Как ускорить и удешевить разработку мобильного при...
 
Разрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложениеРазрабатываем качественное Windows 8 приложение
Разрабатываем качественное Windows 8 приложение
 
WEB
WEBWEB
WEB
 
Teatro
TeatroTeatro
Teatro
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 

Mais de Atwix

Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesAtwix
 
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...Atwix
 
Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?Atwix
 
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...Atwix
 
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...Atwix
 
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2Atwix
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Atwix
 
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...Atwix
 
Владимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistencyВладимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistencyAtwix
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Atwix
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoAtwix
 
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 OverviewМакс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 OverviewAtwix
 
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещейАлександр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещейAtwix
 
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possibleАнатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possibleAtwix
 
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...Atwix
 
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...Atwix
 
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...Atwix
 
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайнАлександр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайнAtwix
 
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с MagentoЕлена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с MagentoAtwix
 
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...Atwix
 

Mais de Atwix (20)

Igor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best PracticesIgor Miniailo - Magento 2 API Design Best Practices
Igor Miniailo - Magento 2 API Design Best Practices
 
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
Valeriy Nayda - Best Practices in Magento 2. Based on Multi Source Inventory ...
 
Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?Yaroslav Rogoza - Development Environment: Local or Remote?
Yaroslav Rogoza - Development Environment: Local or Remote?
 
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...Magento 2 performance comparison in different environments by Yaroslav Rogoza...
Magento 2 performance comparison in different environments by Yaroslav Rogoza...
 
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
Viacheslav Kravchuk. Working as a distributed company. Our journey. Meet Mage...
 
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
Сергей Иващенко - Meet Magento Ukraine - Цены в Magento 2
 
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
Александр Смага, Юрий Муратов - Meet Magento Ukraine - Технический обзор OroCRM
 
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
Иван Чепурный - Meet Magento Ukraine - Varnish Cache and its usage in the rea...
 
Владимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistencyВладимир Дубина - Meet Magento Ukraine - Data consistency
Владимир Дубина - Meet Magento Ukraine - Data consistency
 
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
Андрей Самиляк - Meet Magento Ukraine - Как мы играли в DevOps и как получилс...
 
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в MagentoСергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
Сергей Кибиткин - Meet Magento Ukraine - Что вы никогда не сделаете в Magento
 
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 OverviewМакс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
Макс Екатериненко - Meet Magento Ukraine - Magento 2 Overview
 
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещейАлександр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
Александр Каранда - Meet Magento Ukraine - Реальность нереальных вещей
 
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possibleАнатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
Анатолій Денис - Meet Magento Ukraine - Migration to Magento - mission possible
 
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
Артем Кузнецов - Meet Magento Ukraine - инструменты для отдела поддержки, опы...
 
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
Александр Стельмах - Meet Magento Ukraine - Прибыльная e-mail рассылка за 5 ш...
 
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
Владимир Галика - Meet Magento Ukraine - Чудесный Новый Мир – почему продвиже...
 
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайнАлександр Колб - Meet Magento Ukraine - психология потребления онлайн
Александр Колб - Meet Magento Ukraine - психология потребления онлайн
 
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с MagentoЕлена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
Елена Леонова - Meet Magento Ukraine - Трасформация в e-commerce с Magento
 
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
Thomas Fleck - Meet Magento Ukraine - How Magento and open source change the ...
 

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

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