Тому я помітив, що в більшості моделей і блоків це 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
);
}
Я також знаю, що, маючи справу з уподобаннями, ви все одно повинні зберігати цей параметр у кінці списку параметрів конструктора, коли ви додаєте більше параметрів, ніж оригінальний конструктор.
Тож у мене є кілька запитань щодо цього масиву :
- що це ?
- як ним користуватися?
- чому нам потрібно тримати його в кінці списку параметрів конструктора при оголошенні налаштувань для блоку, який додає більше параметрів?