제품 리포지토리를 주입하려는 컨트롤러 작업이 있습니다.
namespace Nosto\Tagging\Controller\Export;
use Magento\Catalog\Api\ProductRepositoryInterface;
use Magento\Store\Model\StoreManagerInterface;
use Magento\Backend\App\Action;
use Magento\Framework\App\Action\Context;
class Test extends Action
{
private $_productRepository;
public function __construct(
Context $context,
StoreManagerInterface $storeManager,
ProductRepositoryInterface $productRepository
) {
parent::__construct($context);
$this->_storeManager = $storeManager;
$this->_productRepository = $productRepository;
}
생성자 인수를 넣은 순서에 관계없이 Magento의 의존성 주입은 항상 productRepository
PHP를 던지고 인수 오류를 일으키는 인수에 대해 유효하지 않은 클래스를 주입합니다 . storeManager
getd는 잘 주입. 캐시를 지우는 데 도움이되지 않았습니다.
예외는 다음과 같습니다.
Recoverable Error: Argument 3 passed to Nosto\Tagging\Controller\Export\Test::__construct() must implement interface Magento\Catalog\Api\ProductRepositoryInterface, instance of Nosto\Tagging\Helper\Account given.
오류 메시지의 클래스 이름과 인수 위치는 변경되지만 오류 정의는 항상 동일합니다. ProductRepositoryInterface
생성자에서를 제거 하면 모든 것이 다시 잘됩니다.