2011-01-30 13 views
0

私はhttp://framework.zend.com/manual/en/zend.validate.writing_validators.htmlZend構文の説明 - %value%それはどういう意味ですか?

上の構文の場合を参照してください - %値%は何を意味してやっていますか?

protected $_messageTemplates = array(
    self::FLOAT => "'%value%' is not a floating point value" 
); 

おかげ

+0

一般的な[printf](http://php.net/manual/en/function.sprintf.php)の '%s'プレースホルダだけでなく、'%value% 'を使っている理由を説明する人もいます。 – mario

答えて

5

それは、このエラーを表示するときに、フィールドの値によって置き換えられますプレースホルダーです。

ユーザーが"ABC"がこのフィールドで入力した場合、エラーメッセージが"'ABC' is not a floating point value"

これは、より冗長で使いやすい形で、printf関数の%sプレースホルダのようなものであるだろう。バリデータは独自のプレースホルダ変数を追加することができます。特に%value%,%somevar%を(位置)%1$s,%2$sよりも、特に翻訳者にとっては扱いやすくなります。

+0

ありがとう!あなたはzendのソースコードでどこが起こるのか教えてください。 – Yosef

+0

私はZend_Validate_Abstract $ message = str_replace( '%value%'、(string)$ value、$ message)で見つけることができます。 – Yosef

関連する問題