在 Twig 视图中访问 Twig Extension 功能
Access Twig Extention function in Twig view
我尝试访问我编写的 Twig Extention 函数。
// 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() }}
访问函数,但出现以下错误:
UndefinedFunctionException in <Hex for cached view>.php line 68: Attempted to call function "testMethod" from the global namespace.
我清除了缓存并尝试搜索错误,但没有找到任何帮助。也许这里有人可以提供帮助。
你定义你的 Twig_Function
是错误的,就目前而言,你告诉 Twig
寻找 global function
,定义在任何 class.[=15 之外=]
如果你想告诉 Twig
查看当前 class 的内部,你可以这样做:
public function getFunctions() {
return [
new \Twig_SimpleFunction('testMethod', array($this, 'testMethod')),
];
}
我尝试访问我编写的 Twig Extention 函数。
// 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() }}
访问函数,但出现以下错误:
UndefinedFunctionException in <Hex for cached view>.php line 68: Attempted to call function "testMethod" from the global namespace.
我清除了缓存并尝试搜索错误,但没有找到任何帮助。也许这里有人可以提供帮助。
你定义你的 Twig_Function
是错误的,就目前而言,你告诉 Twig
寻找 global function
,定义在任何 class.[=15 之外=]
如果你想告诉 Twig
查看当前 class 的内部,你可以这样做:
public function getFunctions() {
return [
new \Twig_SimpleFunction('testMethod', array($this, 'testMethod')),
];
}