【发布时间】:2017-06-08 12:42:08
【问题描述】:
我正在尝试调用在 TwigExtension (Symfony 3.3) 中创建的 Twig 函数。问题是我找不到我做错了什么,我不确定为什么它不起作用
有人知道问题出在哪里吗?
这是我得到的错误:
Unknown "getCurrentLocale" function.
这是我的代码:
树枝扩展:
<?php
namespace AppBundle\Extension;
use Symfony\Component\HttpFoundation\Request;
class AppTwigExtensions extends \Twig_Extension
{
protected $request;
public function __construct(Request $request)
{
$this->request = $request;
}
public function getFunctions()
{
return [
new \Twig_SimpleFunction('getCurrentLocale', [$this, 'getCurrentLocale']),
];
}
public function getCurrentLocale()
{
dump ($this->request);
/*
* Some code
*/
return "EN";
}
public function getName()
{
return 'App Twig Repository';
}
}
服务:
services:
twig.extension:
class: AppBundle\Extension\AppTwigExtensions
arguments: ["@request"]
tags:
- { name: twig.extension }
树枝:
{{ attribute(country.country, 'name' ~ getCurrentLocale() ) }}
【问题讨论】:
-
您是否尝试过
bin/console cache:clear,因为即使在开发中,缓存有时仍然是个问题。我看不到任何其他可能会让人感到奇怪的东西——顺便说一句,请求对象已经可以在 twig 中使用app.request访问。 -
@JennevanderMeer 我删除缓存并且错误仍然存在。
标签: php symfony twig twig-extension