Estou confuso com a documentação do Magento 2 sobre plugins :
Diz-se primeiro que:
Plugins não podem ser usados com tipos virtuais
Mas então diz-se que:
Você pode especificar uma classe, interface ou tipo virtual como um nome de tipo que o plug-in observe
Estou faltando alguma coisa ou a documentação está se contradizendo? Podemos criar plugins para tipos virtuais?
magento2
plugin
magento-2.1
virtualtype
Raphael na Digital Pianism
fonte
fonte
Respostas:
Os plug-ins funcionarão para o tipo virtual, mas somente se você o especificar para classes ou interfaces pai, mas não poderá especificar um plug-in específico para o tipo virtual concreto
fonte
Não, plugins em tipos virtuais não funcionam.
Prova de código conceitual:
Plugin usando
<type>
:Plugin usando
<virtualType>
:Configuração de DI:
Teste:
Resultado:
fonte
di.xml
que a tag de declaração seria emtype
vez devirtualType
acordo com o doc #totrustornottotrustthedoc #type
evirtualType
plugin.