为了账号安全,请及时绑定邮箱和手机立即绑定

Symfony 4 TwigFunction 未注册

Symfony 4 TwigFunction 未注册

PHP
回首忆惘然 2022-01-24 10:26:04
我正在 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']),

        ];

    }

    ...


查看完整回答
反对 回复 2022-01-24
  • 1 回答
  • 0 关注
  • 130 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信