Symfony将doctrine添加到services.yml和自定义扩展

时间:2017-11-21 10:50:37

标签: php symfony doctrine-orm doctrine

我想要实现的是调用doctrine ini TwigExtension,我从google和stackoverflow获得了一些代码,如下所示:

service.yml

twig.extension:
        class: AppBundle\Twig\AppExtension
        arguments:
            doctrine : '@doctrine'
        tags:
          -  { name: twig.extension }

的appbundle \枝条\ AppEtension.php

<?php

namespace AppBundle\Twig;

use Symfony\Bridge\Doctrine\RegistryInterface;

class AppExtension extends \Twig_Extension
{
    protected $doctrine;

    public function __construct(RegistryInterface $doctrine)
    {
        $this->doctrine = $doctrine;
    }

}

我已经遵循了我的来源的所有指示,但我仍然有错误,无法调用学说或在这里与entitymanager做点什么。

这是我的错误:

Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]                                                                       
  Invalid key "doctrine" found in arguments of method "__construct()" for service "twig.extension": only integer or $named arguments are allowed.  

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

service.yml,而不是doctrine : '@doctrine',您应该$doctrine : '@doctrine'

你得到的错误是试图通过说only integer or $named arguments are allowed告诉你 - 注意** $ **命名部分。