Итак, я заметил, что в большинстве моделей и блоков это array $data = []
задано как последний параметр конструктора .
Например \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
);
}
Я также знаю, что при работе с настройками вы все равно должны сохранять этот параметр в конце списка параметров вашего конструктора, когда добавляете больше параметров, чем в исходном конструкторе.
Итак, у меня есть несколько вопросов относительно этого массива :
- что это такое ?
- как это использовать ?
- почему мы должны держать его в конце списка параметров конструктора при объявлении предпочтений для блока, который добавляет больше параметров?