No di.xml
que vem com o Magento2, há um nó type
e um nó virtualType
. Minhas perguntas é o que é isso virtualType
e, em que caso deve ser usado em vez de type
?
Em alguns lugares, parece um link simbólico ou reescreve:
<virtualType name="Magento\Core\Model\Session\Storage" type="Magento\Framework\Session\Storage">
Onde um caminho completo é alterado para outro, mas em outros lugares, parece ser usado como uma maneira de definir um apelido mais curto.
<virtualType name="lessFileSourceBase" type="Magento\Framework\View\File\Collector\Base">
lessFileSourceBase
é limitado ao xml ou se isso também pode ser usado fora. Acho que é melhor eu cavar.
Magento\Framework\ObjectManager\Config\Mapper\Dom::convert
. Há umaswitch
declaração lá em algum lugar.