migration-110.xml 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 18833 -->
  4. <sect1 id="migration.110">
  5. <title>Zend Framework 1.10</title>
  6. <para>
  7. 以前のバージョンから Zend Framework 1.10 またはそれ以降に更新する際は、
  8. 下記の移行上の注意点に注意すべきです。
  9. </para>
  10. <sect2 id="migration.110.zend.file.transfer">
  11. <title>Zend_File_Transfer</title>
  12. <sect3 id="migration.110.zend.file.transfer.count">
  13. <!-- TODO : to be translated -->
  14. <title>Count validation</title>
  15. <para>
  16. Before release 1.10 the <classname>MimeType</classname> validator used a wrong
  17. naming. For consistency the following constants have been changed:
  18. </para>
  19. <table id="migration.110.zend.file.transfer.count.table">
  20. <title>Changed Validation Messages</title>
  21. <tgroup cols="4">
  22. <thead>
  23. <row>
  24. <entry>Old</entry>
  25. <entry>New</entry>
  26. <entry>Value</entry>
  27. </row>
  28. </thead>
  29. <tbody>
  30. <row>
  31. <entry><constant>TOO_MUCH</constant></entry>
  32. <entry><constant>TOO_MANY</constant></entry>
  33. <entry>
  34. Too many files, maximum '%max%' are allowed but '%count%' are given
  35. </entry>
  36. </row>
  37. <row>
  38. <entry><constant>TOO_LESS</constant></entry>
  39. <entry><constant>TOO_FEW</constant></entry>
  40. <entry>
  41. Too few files, minimum '%min%' are expected but '%count%' are given
  42. </entry>
  43. </row>
  44. </tbody>
  45. </tgroup>
  46. </table>
  47. <para>
  48. When you are translating these messages within your code then use the new constants.
  49. As benefit you don't need to translate the original string anymore to get a correct
  50. spelling.
  51. </para>
  52. </sect3>
  53. </sect2>
  54. <sect2 id="migration.110.zend.validate">
  55. <title>Zend_Validate</title>
  56. <sect3 id="migration.110.zend.validate.selfwritten">
  57. <title>書かれたバリデータ自身</title>
  58. <para>
  59. かかれたバリデータ自身の内部からエラーを返すよう設定するときは、
  60. <methodname>_error()</methodname>メソッドを呼ばなくてはいけません。
  61. Zend Framework 1.10 以前では、パラメータを与えなくてもこのメソッドを呼び出せました。
  62. そこで、最初に見つかったメッセージテンプレートを使いました。
  63. </para>
  64. <para>
  65. この振る舞いには、一つ以上の異なるメッセージを返すバリデータを使うときに問題があります。
  66. また、既存のバリデータを拡張すると、予期しない結果を得ることもあります。
  67. このせいで、あなたが期待した通りではないメッセージにユーザーが遭遇することにもなりました。
  68. </para>
  69. <programlisting language="php"><![CDATA[
  70. My_Validator extends Zend_Validate_Abstract
  71. {
  72. public isValid($value)
  73. {
  74. ...
  75. $this->_error(); // 異なるOS間での予期されない結果
  76. ...
  77. }
  78. }
  79. ]]></programlisting>
  80. <para>
  81. この問題を防ぐために、<methodname>_error()</methodname>メソッドにパラメータを与えないで呼び出すことは、
  82. もはやできなくなります。
  83. </para>
  84. <programlisting language="php"><![CDATA[
  85. My_Validator extends Zend_Validate_Abstract
  86. {
  87. public isValid($value)
  88. {
  89. ...
  90. $this->_error(self::MY_ERROR); // 定義されたエラー、予期されない結果ではありません
  91. ...
  92. }
  93. }
  94. ]]></programlisting>
  95. </sect3>
  96. <sect3 id="migration.110.zend.validate.datevalidator">
  97. <title>日付バリデータの簡略化</title>
  98. <para>
  99. Zend Framework 1.10 以前では、同一の2つのメッセージが、
  100. 日付バリデータ内でスローされていました。
  101. これらは、<constant>NOT_YYYY_MM_DD</constant>と<constant>FALSEFORMAT</constant>でした。
  102. Zend Framework 1.10 現在では、
  103. 与えられた日付が設定されたフォーマットに一致しない場合、
  104. <constant>FALSEFORMAT</constant>メッセージだけが返されます。
  105. </para>
  106. </sect3>
  107. <sect3 id="migration.110.zend.validate.barcodevalidator">
  108. <title>Alpha、Alnum及びBarcodeバリデータの修正</title>
  109. <para>
  110. Zend Framework 1.10 以前では、バーコード・アダプタ2種類と、
  111. Alpha 及び Alnum バリデータ内のメッセージが同一でした。
  112. このため、カスタムのメッセージ、翻訳、
  113. またはこれらのバリデータの複数のインスタンスを使うときに問題がありました。
  114. </para>
  115. <para>
  116. Zend Framework 1.10 では、定数値は、一意であるように変更されました。
  117. マニュアルで提案されたように定数を使ったときには、変更がありません。
  118. しかし、コードで定数の内容を使ったときには、
  119. それらを変更しなければなりません。
  120. 下記の表では変更された値を示します。
  121. </para>
  122. <table id="migration.110.zend.validate.barcodevalidator.table">
  123. <title>利用可能なバリデータのメッセージ</title>
  124. <tgroup cols="3">
  125. <thead>
  126. <row>
  127. <entry>バリデータ</entry>
  128. <entry>定数</entry>
  129. <entry>値</entry>
  130. </row>
  131. </thead>
  132. <tbody>
  133. <row>
  134. <entry><classname>Alnum</classname></entry>
  135. <entry><constant>STRING_EMPTY</constant></entry>
  136. <entry>alnumStringEmpty</entry>
  137. </row>
  138. <row>
  139. <entry><classname>Alpha</classname></entry>
  140. <entry><constant>STRING_EMPTY</constant></entry>
  141. <entry>alphaStringEmpty</entry>
  142. </row>
  143. <row>
  144. <entry><classname>Barcode_Ean13</classname></entry>
  145. <entry><constant>INVALID</constant></entry>
  146. <entry>ean13Invalid</entry>
  147. </row>
  148. <row>
  149. <entry><classname>Barcode_Ean13</classname></entry>
  150. <entry><constant>INVALID_LENGTH</constant></entry>
  151. <entry>ean13InvalidLength</entry>
  152. </row>
  153. <row>
  154. <entry><classname>Barcode_UpcA</classname></entry>
  155. <entry><constant>INVALID</constant></entry>
  156. <entry>upcaInvalid</entry>
  157. </row>
  158. <row>
  159. <entry><classname>Barcode_UpcA</classname></entry>
  160. <entry><constant>INVALID_LENGTH</constant></entry>
  161. <entry>upcaInvalidLength</entry>
  162. </row>
  163. <row>
  164. <entry><classname>Digits</classname></entry>
  165. <entry><constant>STRING_EMPTY</constant></entry>
  166. <entry>digitsStringEmpty</entry>
  167. </row>
  168. </tbody>
  169. </tgroup>
  170. </table>
  171. </sect3>
  172. </sect2>
  173. </sect1>
  174. <!--
  175. vim:se ts=4 sw=4 et:
  176. -->