そのため、ほとんどのモデルとブロックでは、コンストラクターの最後のパラメーターとしてこれが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
);
}
また、好みを扱うとき、あなたは とき、元のコンストラクターよりも多くのパラメーターを追加する場合、そのパラメーターをコンストラクターパラメーターリストの最後に保持する必要があるいます。
したがって、この配列に関していくつかの質問があります:
- それは何ですか ?
- それの使い方 ?
- パラメータを追加するブロックの設定を宣言するときに、コンストラクタパラメータリストの最後に保持する必要があるのはなぜですか?