Magento将继续主要将原始的Zend Framework(版本1)用于Magento 2(来源:Magento 2和Zend Framework 2 )
鉴于Magento 2无论如何都不会与Magento 1向后兼容,为什么它们不升级到Zend Framework 2?
我希望获得权威的技术答案。
Magento将继续主要将原始的Zend Framework(版本1)用于Magento 2(来源:Magento 2和Zend Framework 2 )
鉴于Magento 2无论如何都不会与Magento 1向后兼容,为什么它们不升级到Zend Framework 2?
我希望获得权威的技术答案。
Answers:
仅重复上述重要部分,Magento 2应用程序应使用官方的Magento 2 API,而不是直接使用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的一小部分,对于JavaScript中的MV *来说可能看起来很有趣。
但是,一旦您查看了Magento框架下的内容,您可能就在做错事。您的应用程序代码不应该在乎。您应该使用Magento框架提供的“官方” API,以便我们可以更改内部结构而不会影响现有的客户站点或扩展。通过“官方”,我们将记录哪些“受支持的” API(尚未做得很好)-为了使升级更可靠,我们将使这些API尽可能保持稳定,但对底层代码进行更改改善性能等的基础
注意:我并不经常在这方面看-在GitHub问题跟踪器上可以看到Magento 2问题。目前,我们正在努力使它们保持在那里。
<?php echo \Zend_Json::encode($block->getCheckoutConfig()); ?>
。
\Magento\Framework\Json\DecoderInterface
改用。或json_encode
/ json_decode
直接。
这个问题被问了很多遍。一切归结为投资回报。迁移需要付出巨大的努力,其价值并不高,而且Magento并不高,因为它包含ZF1作为发行版中的库,仅负责此库,包括问题补丁等。
出于相同的原因,他们在Magento 1中使用Prototype.js而不是jQuery。
看来ZF1比ZF2快大约两倍。在这里检查
问题是,据我所知,今年不再支持ZF1。我个人会选择ZF2。我相信他们会尽快对其进行优化。
Magento 2正在使用Zend Framework 1和Zend Framework 2。请参考Magento 2中 Raphael Zend组件的以下回答
Zend Framework 1寿命终止于2016年9月28日。请参阅官方声明发布的Zend Framework 1生命周期终止公告