मेरे पास एक नियंत्रक क्रिया है जिसमें मैं उत्पाद-रिपॉजिटरी को इंजेक्ट करना चाहूंगा
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
कंस्ट्रक्टर से हटाने पर फिर से सब कुछ ठीक हो जाता है।