Magento 2 e contratos de serviços

9

Sei que há muitos tópicos sobre esta questão, mas não tenho certeza de entender claramente.

Quando é que precisamos usar o contrato de serviço?

  • Eles estão substituindo o CRUD feito por Model/ ResourceModel?
  • Precisamos criar sempre que houver um contrato de serviço para cada entidade que usará uma tabela de dados no módulo personalizado?
  • Eles são realmente interessantes para desenvolvimento futuro?
  • Por que o Magento às vezes usa save/ loaddo modelo no Controller / Block, e às vezes não?

Obrigado

TaKe_Da_ShAkEr
fonte
Um interessante post de serviço M2 contrai esta
95623
Oi Sanpu e obrigado pelo link :). A visão de Alan é interessante e agora começo a entender a lógica do contrato de serviço. Parece reorganizar toda a lógica do modelo de negócios, separando os conceitos de Repositório / Dados / Gerenciamento e Construtor. Não está explicado claramente, mas provavelmente substituirá o uso atual do modelo. O que você acha disso ?
TaKe_Da_ShAkEr 02/08

Respostas:

1

Basicamente, os contratos de serviço são um conjunto de interfaces disponíveis para os módulos declararem APIs padrão. Em termos gerais, existem duas categorias de API, a API de dados que expõe métodos CRUD e a API operacional que realmente faz alguma coisa.

Os contratos de serviço cumprem várias funções importantes, como:

  • Melhorando o processo de atualização
  • Formalizando o processo de customização
  • Módulos de desacoplamento

Agora, com o uso de interfaces e APIs, fica muito mais claro como interagir com os módulos no sistema mais modular do Magento, pois eles se comunicam apenas via API.

Todas as classes são documentadas por meio de suas interfaces, para que você saiba exatamente o que cada um faz e como usá-lo afetará toda a sua implementação.

Eu recomendo que você faça os Fundamentos do curso Magento de desenvolvimento magento, que o Magento fornece gratuitamente até 31/1/2017. Abrange exaustivamente a visão geral do Contrato de Serviço e se transforma em API Framework, API de Dados e API da Web

Moses N. Njenga
fonte
0

Os contratos de serviço são muito úteis no Magento2. Eles definem exatamente quais campos de dados você precisa para uma entrada. Como o Magento é desenvolvido de forma que controladores, processos e APIs da Web consomem os mesmos repositórios e modelos, o contrato de serviço ajuda a tornar os dados os mesmos em todos eles. Também é útil porque oferece a oportunidade de injetar fábricas e outras coisas facilmente.

awavi
fonte