Magento по-прежнему будет в основном использовать оригинальный Zend Framework (версия 1) для Magento 2 (источник: Magento 2 и Zend Framework 2 )
Ввиду того, что Magento 2 в любом случае не будет обратно совместим с Magento 1, почему они не обновляются до Zend Framework 2?
Я надеюсь на авторитетный, технический ответ.
magento2
zend-framework
Сообщество
источник
источник
Ответы:
Просто чтобы повторить важные части выше, приложения Magento 2 должны использовать официальные API Magento 2, а не Zend напрямую. Таким образом, разработчики не должны заботиться о том, на что мы опираемся.
Для исследования умов, Magento 2 использует биты из разных структур. Мы используем доступ к базе данных из Zend 1. Мы исследовали переход на Doctrine, но для Magento 2.0.0 было слишком много работы. Однако мы можем сделать это в 2.1, 2.2, 3.0 или ... (пока нет обязательств). Когда мы доберемся до этого, мы также можем передумать, использовать ли ZF1, ZF2, Doctrine и т. Д. На основе новой доступной информации. В Magento 2 также может быть файл YML (это означает, что мы используем часть Symfony). Часть установщика использовала часть ZF2 (стоит ли нам разрабатывать новое приложение для ZF1?), Но это может измениться. Мы также увидели крошечную часть Angular, которая, возможно, выглядела интересной для MV * в JavaScript.
Но как только вы посмотрите, что находится в рамках Magento, вы, вероятно, делаете не то, что нужно. Ваш код приложения не должен заботиться. Вам следует использовать «официальные» API, предоставляемые платформой Magento, чтобы мы могли изменять внутренние компоненты, не затрагивая существующие сайты или расширения клиентов. «Официально» мы собираемся задокументировать, какие API являются «поддерживаемыми» API (пока не очень хорошо) - чтобы сделать обновления более надежными, мы будем поддерживать эти API как можно более стабильными, но вносить изменения в основной код база для повышения производительности и т. д.
Примечание: я не часто заглядываю в эту область - вопросы о Magento 2 просматриваются на трекере GitHub. Мы пытаемся держать их всех там в настоящее время.
источник
<?php echo \Zend_Json::encode($block->getCheckoutConfig()); ?>
.\Magento\Framework\Json\DecoderInterface
вместо этого. Илиjson_encode
/json_decode
напрямую.Вопрос задавался много раз. Все сводится к возврату инвестиций. Миграция требует огромных усилий, ценность не так высока, и Magento, потому что она включает ZF1 в качестве библиотеки в дистрибутив, просто берет на себя ответственность за эту библиотеку, включая исправления для проблем и т. Д.
источник
По той же причине они использовали Prototype.js вместо jQuery для Magento 1.
Кажется, ZF1 примерно в два раза быстрее, чем ZF2. Проверьте здесь
Проблема в том, что ZF1 больше не поддерживается (насколько я знаю) с этого года. Я лично пошел бы с ZF2. Я уверен, что они скоро это оптимизируют.
источник
Magento 2 также использует Zend Framework 1 и Zend Framework 2. Пожалуйста, обратитесь к следующему ответу от компонентов Рафаэля Зенда в Magento 2
Zend Framework 1 Конец Жизни 28 сентября 2016 . См. Официальный релиз заявления Zend Framework 1 Объявление об окончании срока службы
источник