Magento continuera d'utiliser principalement le Zend Framework original (version 1) pour Magento 2 (source: Magento 2 et Zend Framework 2 )
Étant donné que Magento 2 ne sera de toute façon pas rétrocompatible avec Magento 1, pourquoi ne sont-ils pas mis à niveau vers Zend Framework 2?
J'espère une réponse technique faisant autorité.
magento2
zend-framework
Communauté
la source
la source
Réponses:
Juste pour répéter les parties importantes ci-dessus, les applications Magento 2 devraient utiliser les API Magento 2 officielles, pas directement Zend. Les développeurs ne devraient donc pas se soucier de ce sur quoi nous nous appuyons.
Pour les esprits curieux, Magento 2 utilise des bits de différents cadres. Nous utilisons l'accès à la base de données depuis Zend 1. Nous avons étudié le passage à Doctrine, mais cela représentait trop de travail pour la version Magento 2.0.0. Nous pouvons cependant le faire en 2.1, 2.2, 3.0 ou ... (pas encore d'engagement). Lorsque nous y arriverons, nous pouvons également changer d'avis quant à l'utilisation de ZF1, ZF2, Doctrine, etc. en fonction des nouvelles informations disponibles. Magento 2 peut également contenir un fichier YML (ce qui signifie que nous utilisons une partie de Symfony). Une partie du programme d'installation a utilisé une partie de ZF2 (devrions-nous développer une nouvelle application sur ZF1?), Mais cela peut changer. Nous avons également vu une petite partie d'Angular qui semblait peut-être intéressante pour MV * en JavaScript.
Mais dès que vous regardez ce qui est sous le framework Magento, vous faites probablement la mauvaise chose. Votre code d'application ne devrait pas s'en soucier. Vous devez utiliser les API "officielles" fournies par le framework Magento afin que nous puissions changer les internes sans affecter les sites ou extensions clients existants. Par "officiel", nous allons documenter quelles API sont "prises en charge" (pas encore très bien) - pour rendre les mises à niveau plus fiables, nous allons garder ces API aussi stables que possible, mais apporter des modifications au code sous-jacent base pour améliorer les performances, etc.
Remarque: Je ne regarde pas souvent dans ce domaine - les questions sur Magento 2 sont surveillées sur le tracker de problèmes GitHub. Nous essayons de les garder tous là pour le moment.
la source
<?php echo \Zend_Json::encode($block->getCheckoutConfig()); ?>
.\Magento\Framework\Json\DecoderInterface
place. Oujson_encode
/json_decode
directement.La question a été posée plusieurs fois. Tout se résume au retour sur investissement. C'est un effort énorme pour migrer, la valeur n'est pas si élevée et Magento, car il inclut ZF1 comme bibliothèque dans la distribution, prend juste la responsabilité de cette bibliothèque, y compris les correctifs pour les problèmes, etc.
la source
Pour la même raison, ils ont utilisé Prototype.js à la place de jQuery pour Magento 1.
Il semble que ZF1 soit environ deux fois plus rapide que ZF2. Vérifiez ici
Le problème est que ZF1 n'est plus pris en charge (pour autant que je sache) à partir de cette année. Personnellement, j'irais avec ZF2. Je suis sûr qu'ils l'optimiseront bientôt.
la source
Magento 2 utilise également Zend Framework 1 ainsi que Zend Framework 2. Veuillez vous référer à la réponse suivante des composants de Raphael Zend dans Magento 2
La fin de vie de Zend Framework 1 est le 28 septembre 2016 . Voir le communiqué officiel Communiqué de fin de vie de Zend Framework 1
la source