加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在控制器内调用Twig截断过滤器

发布时间:2020-12-13 13:33:40 所属栏目:PHP教程 来源:网络整理
导读:我需要在控制器内使用twig truncate filter.我不使用Twig模板,因为我的控制器只返回一个json对象. 从Twig Text extension源代码,我看到过滤器函数是twig_truncate_filter,所以我尝试将扩展作为服务,并在我的控制器中调用过滤器函数: $something = "a long c
我需要在控制器内使用twig truncate filter.我不使用Twig模板,因为我的控制器只返回一个json对象.

从Twig Text extension源代码,我看到过滤器函数是twig_truncate_filter,所以我尝试将扩展作为服务,并在我的控制器中调用过滤器函数:

$something = "a long character string that need to be truncated";
$twigText = $this->get("twig.extension.text");
$twig = $this->get("twig");
$truncatedValue = $twigText->twig_truncate_filter($twig,$something)

它给我一个致命的错误:调用未定义的方法Twig_Extensions_Extension_Text :: twig_truncate_filter().

如何直接在控制器中使用滤镜功能?

可能有一个较短的方式,但以下工作对我来说:
$filters = $this->get('twig.extension.text')->getFilters();
$callable = $filters['truncate']->getCallable();

$truncated = $callable($this->get('twig'),$str));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读