dongye3917
2017-11-21 10:50 阅读 66
已采纳

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

What I want achieve is call doctrine ini TwigExtension, I get some code from google and stackoverflow, like this :

service.yml

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

AppBundle\Twig\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;
    }

}

I've followed all instruction from my source, but i still got error and cant call doctrine or do something with entitymanager here.

this is my error :

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.  

how to solve this?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    douchuang1852 douchuang1852 2017-11-21 10:54

    In service.yml, instead of doctrine : '@doctrine' you should have $doctrine : '@doctrine'.

    The error you get makes an attempt at telling you this by saying only integer or $named arguments are allowed - note the **$**named part.

    点赞 评论 复制链接分享

相关推荐