Home > CakePHP | PHP > CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意

CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意

  • 2007-07-10 (火) 10:09
  • CakePHP | PHP
  • このエントリーをはてなブックマークに追加
この記事の所要時間: 13

確認画面等で入力値を表示するのにHtmlHelper#tagValueを使っています。

これは内部でHTMLタグをエスケープしてくれるので重宝していたのですが、1.1.15.5144から、このメソッドにエスケープするか否かを表すフラグが追加されました。

[cake/libs/view/helpers/html.php]

PHP:
  1. <?php
  2.  
  3.    function tagValue($fieldName, $escape = false) {
  4.  
  5. ?>

困った事にデフォルトではfalseになっているので、従来の[$html->tagValue('Foo/bar');]のような使い方をしているとHTMLタグがそのまま出力されてしまいます。1.1.15.5144以降(昨日リリースされた1.1.16.5421も含む)でHTMLタグをエスケープするには以下のように第2引数にtrueを指定しなければなりません。

PHP:
  1. // tagValueでHTMLタグをエスケープ
  2. <?php echo $html->tagValue('Foo/bar', true);
  3. // もしくはh()で囲む
  4. <?php echo h($html->tagValue('Foo/bar')) ?>;

1.1.14.4797以前から1.1.15.5144以降へバージョンアップする際はくれぐれもご用心を。

ちなみに1.2.0.5147ではtagValueがdeprecatedになっており、代わりにvalueメソッドを使うようになるようです。

トラックバック:1

このエントリーのトラックバックURL
http://www.1x1.jp/blog/2007/07/cakephp_11155144_tagvalue.html/trackback
Listed below are links to weblogs that reference
CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意 from Shin x blog
pingback from CakePHP HtmlHelper::tagValue のHTMLエスケープ処理 | Sun Limited Mt. 08-04-01 (火) 10:52

[...] ただ、 CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意 | Shin x blog に書かれているように、CakePHP のバージョン1.1.15.5144 からエスケープするかのフラグが追加されたようです。 [...]

Home > CakePHP | PHP > CakePHP 1.1.15.5144以降はHtmlHelper#tagValueに注意

検索
フィード
メタ情報

Return to page top