我正在使用Symfony的依赖注入组件(独立,不在Symfony应用程序中),版本 v3.3.13
尝试新的自动服务加载 .
如果我手动定义服务,则正确加载该类:
# services.yml
myasset:
class: Mysite\Asset\Asset
# in a PHP file
$container->get('myasset'); # works
如果我设置自动加载,它将失败并显示错误消息:ReflectionException:类在1070行的/var/www/vendor/symfony/dependency-injection/ContainerBuilder.php中不存在
# services.yml
_defaults:
autowire: true
autoconfigure: true
public: false
Bloggi\:
resource: '../src/*'
public: true
# in a PHP file
$container->get(Mysite\Asset\Asset::class);
它失败的原因是因为找到了类并且创建了服务定义,但是对于自动加载的服务,定义的 class
属性是 null
.
1 回答
我的DIC配置看起来像:
缺失的一行是
$container->compile();
The working definition