2017-04-11 102 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() }}訪問funtion,但我得到了以下錯誤:

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

OK啊,是的,在我的情況下,我必須使用''Twig_SimpleFunction''。謝謝! – mgluesenkamp