Magento 2 - Почему Magento \ Checkout \ Model \ Cart устарела?

32

Начиная с Magento 2.1, в корзине есть @deprecatedтег. Тем не менее, он по-прежнему используется самой Magento для хранения продуктов при совершении покупок. Предусматривается ли амортизация, и если да, то что мы должны использовать вместо этого?

Патрик ван Берген
источник
Добро пожаловать в Magento.SE! Отличный вопрос! Вы можете подумать о том, чтобы немного пересмотреть заголовок, чтобы он не требовал субъективного ответа. Например, «Должен ли я все еще использовать?» вероятно лучше, чем «почему это устарело»
philwinkle
Спасибо за ваш ответ, Филвинкл! Однако @deprecated уже подразумевает, что его больше не следует использовать. Я просто хотел знать, чем он заменен, и поскольку он по-прежнему активно используется Magento, у меня есть небольшое подозрение, что класс устарел по ошибке. :)
Патрик ван Берген
За пределами основного члена команды ответ не может быть каноническим . Но я думаю, что в нынешнем виде это вполне обоснованный вопрос.
Philwinkle
Для записи. Устаревание удалено в github.com/magento/magento2/pull/11070
M.Elwan

Ответы:

24

Я предполагаю, что команда Magento планирует реализовать сервисные контракты для этого класса.

Однако с 2.1, если вы проверите app/code/Magento/Checkout/Apiпапку, нет класса (пока), который реализует такой сервисный контракт.

Я предполагаю, что это произойдет в какой-то момент, и команда Magento пометила эту модель как устаревшую в будущем. Однако, как я сказал и как вы сказали, он все еще используется в программном обеспечении, поэтому вы все еще можете использовать его сейчас.

Я считаю, что этот @deprecatedтег аналогичен флагу для load()метода изMagento\Framework\Model\AbstractMode

То же самое относится и к <action>тегу XML, который устарел, но все еще является единственным вариантом в некоторых случаях: http://goo.gl/laVP35 и до сих пор широко используется в 2.1: https://github.com/magento/magento2/search? л = XML & д = действие & utf8 =% E2% 9C% 93

Рафаэль в цифровом пианизме
источник
17

Фиксация, которая устарела модель корзины, c4e9a77403655646a18d4277de96429c86bd34fa с сообщением

MAGETWO-51558: пометить модель кассовой тележки устаревшей

Это мало что говорит, тем более что это единственный коммит, который ссылается на внутренний номер билета "MAGETWO-51558"

Поскольку \Magento\Checkout\Apiвсе еще не содержится никаких новых сервисных контрактов и \Magento\Quote\Api\CartItemRepositoryInterfaceони не могут заменить модель корзины, я согласен с вашим подозрением, что она устарела слишком рано.

Конечно, окончательный ответ может дать только сотрудник Magento.

Фабиан Шменглер
источник