Entonces noté que en la mayoría de los modelos y bloques, esto se array $data = []
da como el último parámetro del constructor .
Por ejemplo \Magento\Catalog\Block\Product\ListProduct
public function __construct(
\Magento\Catalog\Block\Product\Context $context,
\Magento\Framework\Data\Helper\PostHelper $postDataHelper,
\Magento\Catalog\Model\Layer\Resolver $layerResolver,
CategoryRepositoryInterface $categoryRepository,
\Magento\Framework\Url\Helper\Data $urlHelper,
array $data = []
) {
$this->_catalogLayer = $layerResolver->get();
$this->_postDataHelper = $postDataHelper;
$this->categoryRepository = $categoryRepository;
$this->urlHelper = $urlHelper;
parent::__construct(
$context,
$data
);
}
También sé que, cuando se trata de preferencias, aún debe mantener ese parámetro al final de su lista de parámetros del constructor cuando agrega más parámetros que el constructor original.
Entonces tengo varias preguntas con respecto a esta matriz :
- Qué es ?
- cómo usarlo ?
- ¿Por qué debemos mantenerlo al final de la lista de parámetros del constructor al declarar preferencias para un bloque que agrega más parámetros?