Magento 2 - Por que o Magento \ Checkout \ Model \ Cart está obsoleto?

32

Desde o Magento 2.1, o Carrinho tem uma @deprecatedetiqueta. No entanto, ele ainda é usado pelo próprio Magento para armazenar produtos nas compras. A depreciação é intencional e, em caso afirmativo, e o que devemos usar?

Patrick van Bergen
fonte
Bem-vindo ao Magento.SE! Ótima pergunta! Você pode revisar um pouco o título para que ele não peça resposta subjetiva. Por exemplo, "Ainda devo usar?" é provavelmente melhor do que "por que foi preterido"
philwinkle
Obrigado pela sua resposta, philwinkle! No entanto, @ obsoleto já implica que não deve mais ser usado. Eu só queria saber o que é substituído e, como ainda é usado ativamente pelo Magento, tenho uma pequena suspeita de que a classe foi reprovada por engano. :)
Patrick van Bergen
Fora de um membro da equipe principal, a resposta não pode ser respondida canonicamente . Mas acho que, do jeito que está, é uma pergunta perfeitamente válida.
philwinkle
para o registro. obsoleta removida no github.com/magento/magento2/pull/11070
M.Elwan 31/03

Respostas:

24

Meu palpite é que a equipe do Magento está planejando implementar contratos de serviço para esta classe.

No entanto, a partir da versão 2.1, se você verificar a app/code/Magento/Checkout/Apipasta, ainda não há uma classe que implemente esse contrato de serviço.

Suponho que isso aconteça em algum momento e a equipe do Magento sinalizou esse modelo como obsoleto no futuro. No entanto, como eu disse e como você disse, ele ainda é usado no software para que você possa continuar usando-o por enquanto.

Acho que essa @deprecatedtag é uma bandeira semelhante à do load()método deMagento\Framework\Model\AbstractMode

O mesmo vale para a <action>tag XML que foi descontinuada, mas ainda é a única opção em alguns casos: http://goo.gl/laVP35 e ainda é amplamente usada no 2.1: https://github.com/magento/magento2/search? l = xml & q = ação & utf8 =% E2% 9C% 93

Raphael na Digital Pianism
fonte
17

A confirmação que reprovou o modelo do carrinho é c4e9a77403655646a18d4277de96429c86bd34fa com a mensagem

MAGETWO-51558: Marcar o modelo do carrinho de check-out como obsoleto

Isso não diz muito, especialmente porque esse é o único commit que faz referência ao número do ticket interno "MAGETWO-51558"

Como \Magento\Checkout\Apiainda não contém novos contratos de serviço e \Magento\Quote\Api\CartItemRepositoryInterfacetambém não pode substituir o modelo de carrinho, concordo com sua suspeita de que ele foi preterido muito cedo.

Obviamente, uma resposta final só pode ser dada por um funcionário da Magento.

Fabian Schmengler
fonte