无法创建symfony服务

时间:2014-06-26 12:38:22

标签: symfony

我在service.yml的自定义包中创建了一个服务,它需要EntityManager和来自parameters.yml的两个值。

来自我的service.yml的例子:

services:
    google.analytics.manager:
        class: CMS\AdminDashboardBundle\Manager\GoogleAnalytics\GoogleAnalyticsManager
        arguments: ['@doctrine.orm.entity_manager','%ga.client.id%','%ga.key.name%']

我将此文件包含在DependcyInjection中。但到目前为止Symfony还在告诉我这个电话

$this->get('google.analytics.manager')

无法找到我的服务。此服务是此捆绑包中的帮助程序(因此不是捆绑类)。此捆绑包在AppKernel中正确设置。那么我错过了什么?

由于

1 个答案:

答案 0 :(得分:1)

是的,它是从控制器调用的。为了使这项工作,我不得不直接导入它,但这是我想要避免的。此service.yml包含在CMS \ AdminDashboardBundle \ DependcyInjection \ CMSAdminDashboardBundleExtension.php中。

public function load(array $configs, ContainerBuilder $container)
{
    $configuration = new Configuration();
    $config = $this->processConfiguration($configuration, $configs);

    $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
    $loader->load('services.yml');
}

这应该由Symfony完成。