ぽんこつエンジニアのブログ

PHP チョット デキル

【Larevel4】Bladeのデータ出力用タグを変える

LaravelのテンプレートエンジンBladeでデータを出力するためのタグはデフォルトだとこのように書きます。

{{ $escape_text}}

{{{ $no_escape_text }}}

ですが、Laravelとangular.jsを一緒に使いたい場合などにechoタグが競合してしまいます。

そんな時はBlade::setContentTags()を使用してBladeで使用するタグを設定し直す事ができます。
例えばエスケープありのタグを[% %]、なしのタグを[-% %-]に変更したい場合は
app/start/global.php

// エスケープあり (どっちで書いても同じ)
Blade::setContentTags('[%', '%]', true);
Blade::setEscapedContentTags('[%', '%]');

// エスケープなし
Blade::setContentTags('[-%', '%-]');

sample.blade.php

[% $escape_text %]

[-% $no_escape_text %-]

とすることで変更する事ができます。