Então eu notei que na maioria dos modelos e blocos, existe esse array $data = []
dado como o último parâmetro do construtor .
Por exemplo \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
);
}
Eu também sei que, ao lidar com preferências, você ainda precisa manter esse parâmetro no final da sua lista de parâmetros do construtor ao adicionar mais parâmetros que o construtor original.
Então, eu tenho várias perguntas sobre essa matriz :
- O que é isso ?
- como usá-lo ?
- por que precisamos mantê-lo no final da lista de parâmetros do construtor ao declarar preferências para um bloco que adiciona mais parâmetros?
fonte