製品リポジトリーを挿入したいコントローラーアクションがあります
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
コンストラクタからを削除すると、すべてが再び正常になります。