WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [symfony] エスケーピングしないclassを指定する。

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

app/config/settings.yml内で


all:
.settings:
escaping_strategy: on
escaping_method: ESC_SPECIALCHARS
全ての変数のエスケーピングをオンにしている時、特定のクラスだけ強制的にエスケーピングをオフに出来ます。

sfOutputEscaper::markClassAsSafe('ClassName');
を呼び出せばそのクラスの返す値はエスケーピングされなくなります。本当にそのクラスをSafe Listに加えてよいのかは難しいところですが。
どこでやるかは迷いますが、クラス内で完結できるので対象クラスのコンストラクタでやりました。

public function __construct(sfPager $pager)
{
sfOutputEscaper::markClassAsSafe(get_class($this));
$this->pager = $pager;
}
複数回実行されるの可能性があるのは微妙ですが、sfOutputEscaperでarray_uniqueが実行されてるので重複されて登録はされないようです。
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。