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]