php twig扩展,php-通过Laravel中的TwigBridge加载Twig扩展

我想通过TwigBridge使用Laravel的Twig-extensions包中的截断过滤器,但是我一直看到此错误:

The filter "truncate" does not exist in "[template file]" at line [##].

我尝试将扩展名以几种不同的方式添加到laravel / app / config / packages / rcrowe / twigbridge / config.php扩展名数组中,但没有任何效果.

'Twig_Extensions_Extension_Text',

function () {

return new Twig_Extensions_Extension_Text();

},

Composer正确安装了文件,我能够使用相同的自动加载器从测试文件加载它.

要使TwigBridge加载此扩展程序需要哪些配置设置?

解决方法:

好吧,我有点笨,但是让我们充分利用它.这是如何在Laravel中为TwigBridge启用其他Twig扩展的过度明确的演练.

TL; DR:扩展是在extensions.php中配置的,而不是在config.php中配置的.

作曲家

从这里开始.使用Composer的require CLI命令; composer需要树枝/扩展名或将以下行添加到您的composer.json文件.

"twig/extensions": "1.2.*@dev",

如果您修改composer.json,请确保运行composer update,以便安装该软件包.

配置TwigBridge

要将Twig扩展添加到TwigBridge,必须将它们添加到laravel / app / config / packages / rcrowe / twigbridge / extensions.php中的已启用阵列中.不是config.php.即使config.php中可能有一个扩展数组,也就是在其中配置其他所有内容的地方,但不是在启用扩展的地方.这在TwigBridge的文档中有详细说明,但很容易忽略.我好几次想念它.

'enabled' => [

'TwigBridge\Extension\Loader\Facades',

'TwigBridge\Extension\Loader\Filters',

// ...

'Twig_Extensions_Extension_Text', //

],

TwigBridge的文档引用了config.php文件,但不久前该配置文件似乎已重命名为twig.php.使用工匠config生成新配置:发布rcrowe / twigbridge会生成twig.php和extensions.php文件-没有config.php.我已经使用TwigBridge一段时间了,所以我仍然躺在那里,可能会增加我的困惑.

扩展名

每个扩展名都可以在扩展文件中找到-它们只是Train_Case类名.截至2015年1月,Twig-extensions project包含五个扩展名,此处列出了这些扩展名及其附带的过滤器:

>数组-Twig_Extensions_Extension_Array

筛选器:随机播放

>日期-Twig_Extensions_Extension_Date

过滤器:time_diff

> I18n-Twig_Extensions_Extension_I18n

过滤器:反式

>国际-Twig_Extensions_Extension_Intl

过滤器:localizeddate,localizednumber,localizedcurrency

>文字-Twig_Extensions_Extension_Text

过滤器:截断,自动换行

标签:laravel,twig,php

来源: https://codeday.me/bug/20191028/1954723.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值