Ich habe eine Controller-Aktion, in die ich das Produkt-Repository einfügen möchte
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;
}
Unabhängig von der Reihenfolge, in der ich meine Konstruktorargumente anordne, injiziert Magentos Abhängigkeitsinjektion immer eine ungültige Klasse für das productRepository
Argument, das PHP veranlasst, Fehler zu werfen und zu argumentieren. Der storeManager
Getd spritzt prima. Das Löschen der Caches hat nicht geholfen.
Hier ist die Ausnahme geworfen:
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.
Die Klassennamen und Argumentpositionen in der Fehlermeldung ändern sich, aber die Fehlerdefinition ist immer dieselbe. Wenn Sie das ProductRepositoryInterface
aus dem Konstruktor entfernen, ist alles wieder in Ordnung.