我正在 Symfony 4 中编写一个 Twig 函数,但我无法让它工作......扩展类<?phpnamespace App\Twig;use App\Utils\XXX;use Twig\Extension\AbstractExtension;use Twig\TwigFunction;class XXXExtension extends AbstractExtension{ /** * @return array|TwigFunction|TwigFunction[] */ public function getFunctions() { return new TwigFunction('showControllerName', [$this, 'showControllerName']); } public function showControllerName($sControllerPath) { return XXX::getControllerName($sControllerPath); }}我在services.yaml中将autowire设置为true ,但以防万一我也尝试过: App\Twig\XXXExtension: public: true tags: - { name: twig.extension }html.twig 中的用法{% set controllerName = showControllerName(app.request.get('_controller')) %}我得到的回应是:HTTP 500 Internal Server ErrorUnknown "showControllerName" function.
1 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
你需要返回一个函数数组,你只返回一个。
...
public function getFunctions()
{
return [
new TwigFunction('showControllerName', [$this, 'showControllerName']),
];
}
...
- 1 回答
- 0 关注
- 130 浏览
添加回答
举报
0/150
提交
取消