Контекст:
- vendor пакет с описанным интерфейсом фабрики (условно
SomeServiceFactoryInterface);
- модуль в Magento, в DI конфигурации (MyModule/etc/di.xml) которого явно прописан бинд интерфейса фабрики к её реализации (
<preference for="Vendor\SomeService\Factory\SomeServiceFactoryInterface" type="MyCompany\MyModule\Service\Factory\SomeServiceFactory" />
);
При попытке выполнить любую CLI-команду Magento (даже просто
bin/magento) тут же падает, сообщая следующее:
лог ошибки
PHP Fatal error: Uncaught Error: Cannot instantiate interface Vendor\SomeService\Factory\SomeServiceFactoryInterface in /repo/magento/lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php:50
Stack trace:
#0 /repo/magento/lib/internal/Magento/Framework/ObjectManager/ObjectManager.php(70): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Vendor\\SomeService\\Fact...')
#1 /repo/magento/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php(144): Magento\Framework\ObjectManager\ObjectManager->get('Vendor\\SomeService\\Fact...')
#2 /repo/magento/lib/internal/Magento/Framework/ObjectManager/Factory/AbstractFactory.php(230): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Vendor\\SomeService\\Fact...', NULL, 'someServiceFactory', 'MyCompany\\SomeOtherModule...')
#3 /repo/magento/lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php(34): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgumentsInRuntime('MyCompany\\SomeOtherModule...', Array, Array)
#4 /repo/magento/l in /repo/magento/lib/internal/Magento/Framework/ObjectManager/Factory/Dynamic/Developer.php on line 50