Граючи з Magento 2, але зіткнувшись з проблемою, я не можу обернути голову. Менеджер об'єктів намагається інстанціювати абстрактний клас, це дає Fatal Error. Хтось знає, що може спричинити це чи вказати мене в правильному напрямку?
Помилка
Fatal error: Cannot instantiate abstract class Magento\Framework\Model\Resource\AbstractResource in /lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php on line 75
Проблема
Мій модуль має модель, яка розширює \Magento\Quote\Model\Quote
. Конструктор цієї моделі вводить такий рядок:
\Magento\Framework\Model\Resource\AbstractResource $resource = null,
.
Контролер, який створює модель, розширює \Magento\Backend\App\Action
та використовує $this->_objectManager->create()
для інстанціювання моделі.
Те, що я не можу обернути головою, - це якщо інстанціювати модель Magento, вона просто працює, але якщо я інстанціюю свою модель, вона намагається інстанціювати цей абстрактний клас, кидаючи помилку вище. Що підказує менеджеру об'єктів це зробити і як я можу вирішити свою проблему?
Моя перша думка полягала в тому, що Magento використовує the, di.xml
щоб замінити це, виконати те чи інше, це було не так.
Дякуємо, що знайшли час, щоб прочитати це. Будь-яка допомога або вклад у цьому питанні вдячна.
__construct
метод вашої моделі.