1000 миллисекунд из жизни magento
TRANSCRIPT
![Page 1: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/1.jpg)
![Page 2: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/2.jpg)
1000 миллисекунд из жизни Magento
Евгений Ивашин,разработчик Magento Core
![Page 3: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/3.jpg)
Представьте себя на месте Magento• Представьте себе что вас зовут Magento, вы весите
около 60 мегабайт и состоите из более чем 320 тысяч строк кода.
![Page 4: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/4.jpg)
Представьте себя на месте Magento• Представьте, что одни ваши знакомые хотят, чтобы вы
весили меньше, другие – чтобы вы бегали как спринтер, третьи – чтобы вы были способны сделать сальто и встать на мостик без усилий.
![Page 5: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/5.jpg)
Представьте себя на месте Magento• Представьте, что окружающие никогда не довольны
вашими успехами, нагружают вас дополнительными упражнениями и в то же время не прекращают требовать от вас быть еще гибче и еще быстрее.
![Page 6: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/6.jpg)
Представьте себя на месте Magento
Представили? А теперь представьте, что вы должны быть готовы:
• обслуживать тысячи клиентов в час
• никому не отказывать в помощи
• никого не заставлять ждать
![Page 7: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/7.jpg)
Тук-тук (0.000 ms)Пользователь набрал в браузере
http://my.magento.installation.com/customer/account/login
Веб-сервер все запросы переадресовывает на index.php
![Page 8: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/8.jpg)
Запуск основного цикла Magento (0.005 ms)Пользователь набрал в браузере
http://my.magento.installation.com/customer/account/login
Веб-сервер все запросы переадресовывает на index.php
Mage::run()
![Page 9: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/9.jpg)
Экскурсия по фабрике
::getModel()
::getSingleton() ::app()
::getBaseUrl() ::getConfig() ::register()
::getStoreConfig()
::helper()
::registry()
::getResourceModel()
::getBaseDir()
::getUrl()
![Page 10: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/10.jpg)
Инициализация приложения (0.020 ms)Пользователь набрал в браузере
http://my.magento.installation.com/customer/account/login
Веб-сервер все запросы переадресовывает на index.php
Mage::run()
Инициализация класса приложения Mage_Core_Model_App
![Page 11: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/11.jpg)
Запуск основного цикла приложения (0.038 ms)
Mage::run()
Инициализация класса приложения Mage_Core_Model_App
...
Запускается основной цикл приложения Mage::app()->run()
![Page 12: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/12.jpg)
Загрузка базовой конфигурации (0.123 ms)
Mage::run()
Инициализация класса приложения Mage_Core_Model_App
...
Запускается основной цикл приложения Mage::app()->run()
Загрузка базовой конфигурации из app/etc
![Page 13: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/13.jpg)
Загрузка базовой конфигурации
System Configuration
app/etc/*.xml
1
![Page 14: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/14.jpg)
Инициализация модулей (0.175 ms)
Инициализация класса приложения Mage_Core_Model_App
...
Запускается основной цикл приложения Mage::app()->run()
Загрузка базовой конфигурации из app/etc
Инициализация каждого модуля из app/etc/modules
Module 1 Module 2 Module 3 Module N ...
![Page 15: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/15.jpg)
Инициализация модулей
System Configuration
app/etc/*.xml
1
app/etc/modules/*.xml
2
app/<Module 1 path>/etc/*.xml
3
app/<Module 2 path>/etc/*.xml
4
app/<Module N path>/etc/*.xml
N app/etc/local.xml
N+1…
![Page 16: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/16.jpg)
Запуск цикла диспетчеризации (0.591 ms)
Запускается основной цикл приложения Mage::app()->run()
...
Загрузка базовой конфигурации из app/etc
Инциализация Front Controller и запуск его цикла диспетчеризации
Инициализация каждого модуля из app/etc/modules
Module 1 Module 2 Module 3 Module N ...
![Page 17: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/17.jpg)
Попытка сопоставить роутер с URL (0.613 ms)
Перебор всех сконфигурированных роутеров
...
Инциализация Front Controller и запуск его цикла диспетчеризации
Инициализация каждого модуля из app/etc/modules
Module 1 Module 2 Module 3 Module N ...
Router 1 Router 2 Router 3 Router N ...
![Page 18: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/18.jpg)
Вычисление и запуск action (0.620 ms)
Перебор всех сконфигурированных роутеров
...Инциализация Front Controller и запуск его цикла диспетчеризации
Вычисление Action Controller и Action, запуск $actionController->actionAction()
Router 1 Router 2 Router 3 Router N ...
![Page 19: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/19.jpg)
Анатомия контроллера
Загрузка Layout$this->loadLayout();
Обработка входных параметров из Request
Работа с отдельными блоками в Layout
Отрисовка Layout$this->renderLayout();
![Page 20: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/20.jpg)
Обновления Layout
![Page 21: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/21.jpg)
Генерация блоков
![Page 22: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/22.jpg)
Рендеринг (~1.000 ms)
![Page 23: 1000 миллисекунд из жизни Magento](https://reader034.vdocuments.pub/reader034/viewer/2022051015/555e190fd8b42a99188b571e/html5/thumbnails/23.jpg)
The
End