| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 17471 -->
- <sect1 id="zend.validate.migration">
- <title>以前のバージョンからの移行</title>
- <para>
- <classname>Zend_Validate</classname>の<acronym>API</acronym>は、時折変わってきました。
- 以前のバージョンで<classname>Zend_Validate</classname>とそのサブコンポーネントを使い始めたなら、
- 新しい<acronym>API</acronym>を使うようスクリプトを移行するために、下記のガイドラインに従ってください。
- </para>
- <sect2 id="zend.validate.migration.fromoneninetooneten">
- <title>1.9から1.10以降への移行</title>
- <sect3 id="zend.validate.migration.fromoneninetooneten.selfwritten">
- <title>書かれたアダプタ自身</title>
- <para>
- かかれたバリデータ自身の内部からエラーを返すよう設定するときは、
- <methodname>_error()</methodname>メソッドを呼ばなくてはいけません。
- Zend Framework 1.10 以前では、パラメータを与えなくてもこのメソッドを呼び出せました。
- そこで、最初に見つかったメッセージテンプレートを使いました。
- </para>
- <para>
- この振る舞いには、一つ以上の異なるメッセージを返すバリデータを使うときに問題があります。
- また、既存のバリデータを拡張すると、予期しない結果を得ることもあります。
- このせいで、あなたが期待した通りではないメッセージにユーザーが遭遇することにもなりました。
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(); // 異なるOS間での予期されない結果
- ...
- }
- }
- ]]></programlisting>
- <para>
- この問題を防ぐために、<methodname>_error()</methodname>メソッドにパラメータを与えないで呼び出すことは、
- もはやできなくなります。
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(self::MY_ERROR); // 定義されたエラー、予期されない結果ではありません
- ...
- }
- }
- ]]></programlisting>
- </sect3>
- </sect2>
- </sect1>
|