Zauważyłem więc, że w większości modeli i bloków jest to array $data = []
ostatni parametr konstruktora .
Na przykład \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
);
}
Wiem również, że mając do czynienia z preferencjami, nadal musisz zachować ten parametr na końcu listy parametrów konstruktora, gdy dodasz więcej parametrów niż oryginalny konstruktor.
Mam więc kilka pytań dotyczących tej tablicy :
- co to jest ?
- Jak tego użyć ?
- dlaczego musimy zachować go na końcu listy parametrów konstruktora, deklarując preferencje dla bloku, który dodaje więcej parametrów?