Я почти решил свою проблему в этом вопросе . Теперь я должен найти способ переопределить функцию выключения лезвия по умолчанию. Я думаю, что есть способ создать класс, который расширяет и отменяет поведение класса BladeCompiler, таким образом я мог бы сделать что-то вроде этого:
class MyCustomCompiler extends BladeCompiler{ function compileEscapedEchos($value){ return parent::compileEscapedEchos(utf8_encode($value)); } }
Если бы я мог это сделать, я должен был использовать laravel вместо MyCustomCompiler вместо BladeCompiler. Как мне это сделать?
Вам даже не нужно переопределять компилятор, просто выполните это в Провайдере:
Blade::setEchoFormat('e(utf8_encode(%s))');
Это изменит способ компиляции {{ ... }}
. Формат по умолчанию – e(%s)
.