我在我的一个项目中使用Symfony IoC容器(只是ContainerBuilder,而不是完整的Symfony框架)。我以编程方式添加服务,如下所示:
$this->container = new ContainerBuilder();
$this->container->register('routeCollection', RouteCollection::class);
$this->container->register('context', RequestContext::class);
$this->container->register('matcher', UrlMatcher::class)->setArguments(array(
new Reference('routeCollection'),
new Reference('context')
));
然后我尝试获得服务
$matcher = $this->container->get('matcher');
但是我收到警告:“未找到具有给定ID的Symfony服务”。插件已激活,按ctrl + space时可以看到几个默认服务。当我使用以下命令列出服务时,我也看到我的服务在那里:
$this->container->getServiceIds();
我的程序也正常工作。这是否意味着该插件仅适用于xml或yml配置文件?