2017-04-11 1 views
1

내가 작성한 나뭇 가지 확장 기능에 액세스하려고합니다.나뭇 가지보기에서 나뭇 가지 확장 기능에 액세스

// AppBundle/Twig/AppExtention.php 

namespace AppBundle\Twig; 

class AppExtension extends \Twig_Extension 
{ 
    public function getFunctions() { 
    return [ 
     new \Twig_Function('testMethod', 'testMethod'), 
    ]; 
    } 

    public function testMethod() { 
    return 'blubb'; 
    } 
} 

는 지금은 {{ testMethod() }}하여 연료 소모량에 액세스하려고하지만, 나는 다음과 같은 오류가 발생합니다 : I 캐시를 삭제하고 오류를 검색하려고하지만 난 아무것도 발견 UndefinedFunctionException in <Hex for cached view>.php line 68: Attempted to call function "testMethod" from the global namespace.

그 나를 도와 주었다. 어쩌면 여기 누군가가 도와 줄 수 있습니다.

답변

1

사용자가 Twig_Function을 잘못 정의했다면 Twig에 어떤 클래스 외부에서 정의 된 global function이 있는지 찾아야한다고 말한 것입니다. 현재 클래스 내부보고 Twig을 말하고 싶은 경우

, 당신은이 작업을 수행 할 수 있습니다 :

public function getFunctions() { 
    return [ 
     new \Twig_SimpleFunction('testMethod', array($this, 'testMethod')), 
    ]; 
} 
+0

아 좋아, 그래, 내 경우에는 내가''Twig_SimpleFunction''을 사용해야합니다. 고맙습니다! – mgluesenkamp