En Magento 2 (casi) todos los argumentos enumerados en los archivos xml tienen un atributo xsi:typeque determina cómo se interpreta el valor del argumento.
Por ejemplo, en el di.xmlarchivo del módulo de fondo hay esto:
<argument name="scopeType" xsi:type="const">Magento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT</argument>
Esto significa que el valor del argumento scopeTypees el valor de la constanteMagento\Framework\App\Config\ScopeConfigInterface::SCOPE_TYPE_DEFAULT
o este
<argument name="template" xsi:type="string">Magento_Theme::root.phtml</argument>
Esto significa que el valor del argumento templatees la cadena Magento_Theme::root.phtml.
¿Cuáles son todos los valores posibles de este xsi:typeatributo?

staticlugar de unconstpara tal argumento? Parece que no puedo encontrar un tipo que funcione para unstaticcampo en mi clase :-(staticRespuestas:
He encontrado todos los tipos al registrar
<xs:extension base="argumentType"archivos * .xsd.lib/internal/Magento/Framework/Data/etc/argument/types.xsd, estos son tipos básicos :lib/internal/Magento/Framework/ObjectManager/etc/config.xsd, se puede encontrar en di.xm l archivos:lib/internal/Magento/Framework/View/Layout/etc/elements.xsd, se puede encontrar en los archivos de diseño * .xml :Magento/Ui/etc/ui_components.xsd, se puede encontrar en los archivos * .xml de los componentes de la interfaz de usuario :fuente
Según mis investigaciones, esto es lo que he encontrado:
El intérprete de argumentos se crea en
lib\internal\Magento\Framework\App\ObjectManagerFactory.php:En este código, puede ver claramente que se utilizan diferentes intérpretes según el atributo de tipo del argumento
\Magento\Framework\ObjectManager\Config\Reader\Dom::TYPE_ATTRIBUTE:\Magento\Framework\Data\Argument\Interpreter\Boolean\Magento\Framework\Data\Argument\Interpreter\StringUtils\Magento\Framework\Data\Argument\Interpreter\Number\Magento\Framework\Data\Argument\Interpreter\NullType\Magento\Framework\Data\Argument\Interpreter\DataObject\Magento\Framework\Data\Argument\Interpreter\Constant\Magento\Framework\App\Arguments\ArgumentInterpreter(tenga en cuenta que este toma el\Magento\Framework\Data\Argument\Interpreter\Constantparámetro as y no el parámetro constructor)También se agrega un intérprete adicional sobre la marcha para manejar los tipos de matriz:
\Magento\Framework\Data\Argument\Interpreter\ArrayTypeNota: parece que el
init_parametertipo solo se usaapp\code\Magento\Store\etc\di.xmlpara iniciar algunas constantes:fuente