Quindi ho notato che nella maggior parte dei modelli e blocchi, questo è array $data = []
dato come l'ultimo parametro del costruttore .
Per esempio \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
);
}
So anche che, quando si ha a che fare con le preferenze, è necessario mantenere quel parametro alla fine dell'elenco dei parametri del costruttore quando si aggiungono più parametri rispetto al costruttore originale.
Quindi ho diverse domande su questo array :
- che cos'è ?
- come usarlo ?
- perché dobbiamo tenerlo alla fine dell'elenco dei parametri del costruttore quando si dichiarano le preferenze per un blocco che aggiunge più parametri?