Хотя я использую правильное пространство имен, конструктору передается неправильный экземпляр


У меня есть php-файл блока. Код файла блока:

<?php

namespace Vendor\SampleModule1\Block;

use Magento\Framework\View\Element\Template;
use Magento\Framework\View\Element\Template\Context;
use Vendor\SampleModule1\Model\ResrouceModel\Item\Collection;
use Vendor\SampleModule1\Model\ResrouceModel\Item\CollectionFactory;

class Hello extends Template
{
    private $collectionFactory;

    public function __construct(
        Context $context,
        CollectionFactory $collectionFactory,
        array $data =[]
    )
    {
        $this->collectionFactory = $collectionFactory;
        parent::__construct($context, $data);
    }

    /**
     * @return \Vendor\SampleModule1\Model\Item[]
     */
    public function getItems()
    {
        return $this->collectionFactory->create()->getItems();
    }
}

Когда я пытаюсь просмотреть представление, ошибка

Неустранимая ошибка: Неперехваченная ошибка типа: Аргумент 1 передан поставщику\samplemodule1\Блок\Привет::__построить() должен быть экземпляр Magento\Framework\Представление\Элемент\Шаблон\Контекст, экземпляр Magento\Framework\ObjectManager\ObjectManager, указанный....

Как это возможно???

Author: Manashvi Birla, 2017-09-25

1 answers

Вам необходимо скомпилировать свой код после внесения изменений.

Пожалуйста, сделайте

Php bin/настройка magento:di:компиляция

 1
Author: Rajeev K Tomy, 2017-09-25 06:50:24