ฉันมีการดำเนินการควบคุมที่ฉันต้องการฉีดที่เก็บสินค้า
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;
}
ไม่ว่าฉันจะสั่งคำสั่งคอนสตรัคเตอร์ของฉันแบบใดก็ตามวีโอไอพีของการพึ่งพาการฉีดมักจะเป็นชั้นที่ไม่ถูกต้องสำหรับการ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
ออกจากตัวสร้างทำให้ทุกอย่างดีขึ้นอีกครั้ง