symfonyでエスケープ処理

templateに渡った変数をデフォルトでエスケープする設定(XSS対策など)

setting.yml
    # Output escaping settings
    escaping_strategy:      true

これでエスケープして出力されます

echo $class['hoge'];  // 例)<b>aaa</b><br />

あえてエスケープしない出力(タグを許す場合など)をしたいときはこちら

echo $sf_data->getRaw('class')->getHoge();
echo $class->getHoge(ESC_RAW);	// こちらでも可


注意点:
$sf_params->get()で第2引数を指定する場合は、意味合いが違ってきます。
$sf_params が sfParameterHolder から sfOutputEscaperObjectDecorator に変わる為です。
例えば、以下のようにパラメータが無いときの代替値としての第2引数を指定しても、意図通りの表示にはなりません

echo $sf_params->get('page', 1);
// パラメータ「page」が無い時でも「1」は表示されない

その場合は以下に書き換え

echo $sf_request->getParameter('page', 1)

[symfony 1.4.8]