やかん部@FLATz

[symfony][memo]エスケープしたくないときにどうするか

このエントリをdel.icio.usに追加このエントリをはてなブックマークに追加 |2008年04月22日(火)00:31|nasu

那須です


symfonyのエスケーピングヘルパーはデフォルトで使っているのですが、たまにエスケープしたくない時があります。そういう場合の対処をtipsとしてまとめておきます。


モジュール単位でエスケーピングしないという選択


例えば、メール作成用モジュールとか


apps/[app]/modules/[module]/config/view.yml



escaping
strategy: off


とします
(apps/[app]/config/view.ymlでデフォルトでエスケーピングを選択している場合)


変数単位でエスケーピングしない方法


変数

$sf_data->getRaw(‘name’);


のように、sfData::getRaw()に変数名を指定するエスケープしない生データを返します。


メソッド

$user->getName(ESC_RAW);
$goods->getPrice(WITH_TAXES_TRUE, ESC_RAW);


のようにメソッドの引数にESC_RAWを指定します。詳しい仕組みは追ってないのですが、引数がある場合は、最後の引数の後に、ESC_RAWをつけます。
(上の例はちょっとわかりづらいですが・・・)


最後に


↓出力エスケーピング嫁
http://symfony.xrea.jp/book/07-Inside-the-View-Layer.html
という話なんですが、エスケープをデフォルトにしてると、ついエスケープしない方法を忘れがちなので、備忘録としてメモしておきます。
あと、アクション単位で指定することってできないんでしょうかね・・・

この記事に関するお問い合わせはこちら


関連記事


Trackback URL


このページの先頭へ