【问题标题】:How to override default escape function of blade in laravel 5?如何覆盖 laravel 5 中刀片的默认转义功能?
【发布时间】:2015-05-25 16:48:53
【问题描述】:

我在this question 中几乎解决了我的问题。现在我必须找到一种方法来覆盖默认的刀片转义功能。 我认为有一种方法可以创建一个类来扩展和覆盖 BladeCompiler 类的行为,这样我就可以做出这样的事情:

class MyCustomCompiler extends BladeCompiler{
   function compileEscapedEchos($value){
        return parent::compileEscapedEchos(utf8_encode($value));
    }
}

如果我能做到,我只需要让 laravel 使用 MyCustomCompiler 而不是 BladeCompiler。我该怎么做?

【问题讨论】:

    标签: php dependency-injection laravel-5


    【解决方案1】:

    您甚至不必重写编译器,只需在服务提供者中执行此操作:

    Blade::setEchoFormat('e(utf8_encode(%s))');
    

    这将改变{{ ... }} 的编译方式。默认格式为e(%s)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-02
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多