Magento 2 - Perché Magento \ Checkout \ Model \ Cart è obsoleto?


32

Da Magento 2.1, Cart ha un @deprecatedtag. Tuttavia, viene ancora utilizzato dallo stesso Magento per conservare i prodotti durante lo shopping. È prevista la deprecazione, e in caso affermativo, e cosa dovremmo usare invece?


Benvenuto in Magento.SE! Ottima domanda! Potresti pensare di rivedere un po 'il titolo in modo che non richieda una risposta soggettiva. Ad esempio, "Devo ancora usare?" è probabilmente meglio di "perché è stato deprecato"
Philwinkle,

Grazie per la tua risposta, piccola! Tuttavia, @deprecated implica già che non dovrebbe più essere utilizzato. Volevo solo sapere da cosa viene sostituito, e poiché è ancora attivamente utilizzato da Magento, ho il piccolo sospetto che la classe sia stata deprecata per errore. :)
Patrick van Bergen,

Al di fuori di un membro del team principale non è possibile rispondere canonicamente alla risposta. Ma penso che allo stato attuale sia una domanda perfettamente valida.
Philwinkle,

per il record. deprecazione rimossa in github.com/magento/magento2/pull/11070
M.Elwan

Risposte:


24

La mia ipotesi è che il team di Magento abbia intenzione di implementare contratti di servizio per questa classe.

Tuttavia a partire da 2.1 se si controlla la app/code/Magento/Checkout/Apicartella non esiste (ancora) una classe che implementa tale contratto di servizio.

Presumo che accadrà ad un certo punto e il team di Magento ha contrassegnato quel modello per essere deprecato in futuro. Tuttavia, come ho detto e come hai detto, è ancora utilizzato nel software in modo da poter continuare ad usarlo per ora.

Suppongo che questo @deprecatedtag sia una bandiera simile a quella per il load()metodo daMagento\Framework\Model\AbstractMode

Lo stesso vale per il <action>tag XML che è obsoleto, ma in alcuni casi è ancora l'unica opzione: http://goo.gl/laVP35 ed è ancora ampiamente utilizzato in 2.1: https://github.com/magento/magento2/search? l = xml & q = azione & utf8 =% E2% 9C% 93


17

Il commit che ha deprecato il modello di carrello è c4e9a77403655646a18d4277de96429c86bd34fa con il messaggio

MAGETWO-51558: Contrassegna il modello del carrello di checkout come obsoleto

Questo non dice molto, soprattutto perché questo è l'unico commit che fa riferimento al numero di ticket interno "MAGETWO-51558"

Dato che \Magento\Checkout\Apiancora non contiene nuovi contratti di servizio e \Magento\Quote\Api\CartItemRepositoryInterfacenon può nemmeno sostituire il modello di carrello, sono d'accordo con il tuo sospetto che sia stato deprecato troppo presto.

Naturalmente, una risposta finale può essere data solo da un dipendente Magento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.