Php Symfony 4 TwigFunction未注册

Php Symfony 4 TwigFunction未注册,php,symfony,twig,Php,Symfony,Twig,我正在用Symfony 4编写一个细枝函数,但我无法让它工作 扩展类 html.twig中的用法 我得到的回应是: HTTP 500 Internal Server Error Unknown "showControllerName" function. 您需要返回一个函数数组,您只返回一个 ... public function getFunctions() { return [ new TwigFunction('showCo

我正在用Symfony 4编写一个细枝函数,但我无法让它工作

扩展类

html.twig中的用法

我得到的回应是:

HTTP 500 Internal Server Error
Unknown "showControllerName" function.

您需要返回一个函数数组,您只返回一个

    ...
    public function getFunctions()
    {
        return [
            new TwigFunction('showControllerName', [$this, 'showControllerName']),
        ];
    }
    ...

bin/console debug:twig将确定函数是否已注册。您可以尝试将TwigFunction实例包装在一个数组中,如文档所示,但这不会有什么区别。@Cerad似乎必须是一个数组,否则它将不起作用。是的。我是根据你发布的代码中的类型提示来做的。您的IDE没有标记它,这有点令人惊讶。ExtensionInterface清楚地显示返回的数组。
{% set controllerName = showControllerName(app.request.get('_controller')) %}
HTTP 500 Internal Server Error
Unknown "showControllerName" function.
    ...
    public function getFunctions()
    {
        return [
            new TwigFunction('showControllerName', [$this, 'showControllerName']),
        ];
    }
    ...