2017-11-21 13 views
0

내가 달성하고자하는 TwigExtension INI 전화 교리,이 같은 구글과 유래에서 일부 코드를 얻을 :심포니 services.yml하는 교리와 사용자 지정 확장을 추가

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. 

방법이 문제를 해결하기 위해 :

이 내 오류가?

+0

이 링크를 확인하십시오 - https://stackoverflow.com/questions/44331420/symfony-upgrade-to-3-3-service-argument-error – habibun

+1

@ doctrine.orm.entity_manager로 시도하십시오 – Sermanes

+0

@ Jory의 답변은 다음과 같습니다. 올바른 해결책. 문제는 이전 버전의 Symfony를 사용하고 있지만 최신 문서를 따르려고한다는 것입니다. 서비스 컨테이너 문서 페이지의 오른쪽 상단에서 올바른 Symfony 버전을 선택하고 차이점을 확인하십시오. – Cerad

답변

3

service.yml에는 doctrine : '@doctrine' 대신 $doctrine : '@doctrine'이 있어야합니다.

오류가 발생하면 only integer or $named arguments are allowed라고 말하면서 ** $ ** 명명 된 부분을 보게됩니다.

+0

와우의 작품, 고마워. – yozawiratama