Magento 2: ¿por qué Magento \ Checkout \ Model \ Cart está en desuso?

32

Desde Magento 2.1, Cart tiene una @deprecatedetiqueta. Sin embargo, Magento todavía lo usa para almacenar productos cuando compra. ¿Se pretende la desaprobación, y si es así, y qué debemos usar en su lugar?

Patrick van Bergen
fuente
Bienvenido a Magento.SE! Gran pregunta! Puede pensar en revisar un poco el título para que no pida una respuesta subjetiva. Por ejemplo, "¿Debo usar?" es probablemente mejor que "por qué fue desaprobado"
philwinkle
Gracias por tu respuesta, philwinkle! Sin embargo, @deprecated ya implica que ya no debería usarse. Solo quería saber por qué se reemplaza, y debido a que Magento todavía lo usa activamente, tengo una pequeña sospecha de que la clase fue desaprobada por error. :)
Patrick van Bergen
Fuera de un miembro del equipo central, la respuesta no se puede responder canónicamente . Pero creo que tal como está es una pregunta perfectamente válida.
philwinkle
para el registro. deprecation eliminado en github.com/magento/magento2/pull/11070
M.Elwan

Respuestas:

24

Supongo que el equipo de Magento planea implementar contratos de servicio para esta clase.

Sin embargo, a partir de 2.1 si marca la app/code/Magento/Checkout/Apicarpeta, no hay clase (todavía) que implemente dicho contrato de servicio.

Supongo que sucederá en algún momento y el equipo de Magento marcó ese modelo como obsoleto en el futuro. Sin embargo, como dije y como dijiste, todavía se usa en el software, por lo que todavía puedes seguir usándolo por ahora.

Creo que esta @deprecatedetiqueta es una bandera similar a la del load()método deMagento\Framework\Model\AbstractMode

Lo mismo ocurre con la <action>etiqueta XML que está en desuso pero que sigue siendo la única opción en algunos casos: http://goo.gl/laVP35 y todavía se usa ampliamente en 2.1: https://github.com/magento/magento2/search? l = xml & q = acción & utf8 =% E2% 9C% 93

Raphael en Digital Pianism
fuente
17

El commit que desaprobó el modelo de carrito es c4e9a77403655646a18d4277de96429c86bd34fa con el mensaje

MAGETWO-51558: Marcar el modelo de carrito de compra como obsoleto

Esto no dice mucho, especialmente porque es el único compromiso que hace referencia al número de ticket interno "MAGETWO-51558"

Como \Magento\Checkout\Apitodavía no contiene ningún nuevo contrato de servicio y \Magento\Quote\Api\CartItemRepositoryInterfacetampoco puede reemplazar el modelo de carrito, estoy de acuerdo con su sospecha de que ha sido desaprobado demasiado pronto.

Por supuesto, una respuesta final solo puede ser dada por un empleado de Magento.

Fabian Schmengler
fuente