J'ai donc remarqué que dans la plupart des modèles et des blocs, ce array $data = []
paramètre est le dernier paramètre du constructeur .
Par exemple \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
);
}
Je sais également que, lorsqu'il s'agit de préférences, vous devez toujours conserver ce paramètre à la fin de votre liste de paramètres de constructeur lorsque vous ajoutez plus de paramètres que le constructeur d'origine.
J'ai donc plusieurs questions concernant ce tableau :
- qu'Est-ce que c'est ?
- comment l'utiliser ?
- pourquoi devons-nous le conserver à la fin de la liste des paramètres du constructeur lors de la déclaration des préférences pour un bloc qui ajoute plus de paramètres?