Magento będzie nadal głównie używać oryginalnej Zend Framework (wersja 1) dla Magento 2 (źródło: Magento 2 i Zend Framework 2 )
Widząc, że Magento 2 i tak nie będzie kompatybilny wstecz z Magento 1, dlaczego nie aktualizują się do Zend Framework 2?
Mam nadzieję na autorytatywną, techniczną odpowiedź.
magento2
zend-framework
Społeczność
źródło
źródło
Odpowiedzi:
Aby powtórzyć ważne części powyżej, aplikacje Magento 2 powinny używać oficjalnych interfejsów API Magento 2, a nie bezpośrednio Zend. Dlatego programiści nie powinni dbać o to, na czym budujemy.
Dla dociekliwych umysłów Magento 2 używa bitów z różnych ram. Korzystamy z dostępu do bazy danych poza Zend 1. Badaliśmy przejście do Doctrine, ale było to zbyt wiele pracy dla wydania Magento 2.0.0. Możemy to jednak zrobić w 2.1, 2.2, 3.0 lub ... (jeszcze nie zobowiązujemy). Kiedy do tego dojdziemy, możemy również zmienić zdanie, czy korzystać z ZF1, ZF2, Doctrine itp. W oparciu o nowe dostępne informacje. Magento 2 może również zawierać plik YML (co oznacza, że używamy części Symfony). Część instalatora używała części ZF2 (czy powinniśmy opracować nową aplikację na ZF1?), Ale to może się zmienić. Widzieliśmy także niewielką część Angulara, która prawdopodobnie wyglądała interesująco dla MV * w JavaScript.
Ale gdy tylko spojrzysz na to, co jest objęte Magento, prawdopodobnie robisz coś złego. Twój kod aplikacji nie powinien się tym przejmować. Powinieneś używać „oficjalnych” interfejsów API dostarczanych przez platformę Magento, abyśmy mogli zmieniać elementy wewnętrzne bez wpływu na istniejące witryny klientów lub rozszerzenia. Poprzez „oficjalny” zamierzamy udokumentować, które interfejsy API są „obsługiwanymi” interfejsami API (jeszcze niezbyt dobrze zrobionymi) - aby uczynić aktualizacje bardziej niezawodnymi, będziemy utrzymywać te interfejsy API tak stabilnie, jak to możliwe, ale wprowadzimy zmiany w podstawowym kodzie baza do poprawy wydajności itp.
Uwaga: nie szukam w tym obszarze zbyt często - pytania związane z Magento 2 są obserwowane na narzędziu do śledzenia problemów GitHub. Obecnie staramy się je wszystkie trzymać.
źródło
<?php echo \Zend_Json::encode($block->getCheckoutConfig()); ?>
.\Magento\Framework\Json\DecoderInterface
zamiast tego. Lubjson_encode
/json_decode
bezpośrednio.Pytanie zadawano wiele razy. Wszystko sprowadza się do zwrotu z inwestycji. Migracja jest ogromnym wysiłkiem, wartość nie jest aż tak wysoka i Magento, ponieważ zawiera ZF1 jako bibliotekę w dystrybucji, po prostu bierze odpowiedzialność za tę bibliotekę, w tym za poprawki problemów itp.
źródło
Z tego samego powodu użyli Prototype.js zamiast jQuery dla Magento 1.
Wygląda na to, że ZF1 jest około dwa razy szybszy niż ZF2. Sprawdź tutaj
Problem polega na tym, że ZF1 nie jest już obsługiwany (o ile wiem) od tego roku. Osobiście wybrałbym ZF2. Jestem pewien, że wkrótce ją zoptymalizują.
źródło
Magento 2 używa również Zend Framework 1, a także Zend Framework 2. Proszę odnieść się do następującej odpowiedzi komponentów Raphaela Zenda w Magento 2
Zend Framework 1 End of Life to 28 września 2016 r . Zobacz oficjalne oświadczenie Zend Framework 1 Ogłoszenie o wycofaniu z eksploatacji
źródło