| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 18833 -->
- <!-- Reviewed: no -->
- <sect1 id="migration.110">
- <title>Zend Framework 1.10</title>
- <para>
- Wenn man von einem älteren Release auf Zend Framework 1.10 oder höher hochrüstet sollte
- man die folgenden Migrations Hinweise beachten.
- </para>
- <sect2 id="migration.110.zend.file.transfer">
- <title>Zend_File_Transfer</title>
- <sect3 id="migration.110.zend.file.transfer.count">
- <title>Count Prüfung</title>
- <para>
- Vor dem Release 1.10 hat die <classname>MimeType</classname> Prüfung eine falsche
- Benennung verwendet. Aus Gründen der Konsistenz wurden die folgenden Konstanten
- geändert:
- </para>
- <table id="migration.110.zend.file.transfer.count.table">
- <title>Geänderte Prüfmeldungen</title>
- <tgroup cols="4">
- <thead>
- <row>
- <entry>Alt</entry>
- <entry>Neu</entry>
- <entry>Wert</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><constant>TOO_MUCH</constant></entry>
- <entry><constant>TOO_MANY</constant></entry>
- <entry>
- Too many files, maximum '%max%' are allowed but '%count%' are given
- </entry>
- </row>
- <row>
- <entry><constant>TOO_LESS</constant></entry>
- <entry><constant>TOO_FEW</constant></entry>
- <entry>
- Too few files, minimum '%min%' are expected but '%count%' are given
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <para>
- Wenn man diese Meldungen im eigenen Code übersetzt dann sollte man die neuen
- Konstanten verwenden. Als Vorteil muss man den originalen String im englischen nicht
- mehr übersetzen um die richtige Schreibweise zu erhalten.
- </para>
- </sect3>
- </sect2>
- <sect2 id="migration.110.zend.validate">
- <title>Zend_Validate</title>
- <sect3 id="migration.110.zend.validate.selfwritten">
- <title>Selbst geschriebene Adapter</title>
- <para>
- Wenn in einer selbst geschriebenen Prüfung ein Fehler gesetzt wird um diesen
- zurückzugeben muß die <methodname>_error()</methodname> Methode aufgerufen werden.
- Vor Zend Framework 1.10 konnte man diese Methode ohne einen angegebenen Parameter
- aufrufen. Es wurde dann das erste gefundene Nachrichtentemplate verwendet.
- </para>
- <para>
- Dieses Verhalten ist problematisch wenn man Prüfungen hat die mehr als eine
- Nachricht zurückgeben kann. Auch wenn man eine existierende Prüfung erweitert kann
- man unerwartete Ergebnisse erhalten. Das kann zum Problem führen das der Benutzer
- nicht die Nachricht erhält die man erwartet.
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(); // Unerwartete Ergebnisse zwischen verschiedenen OS
- ...
- }
- }
- ]]></programlisting>
- <para>
- Um dieses Problem zu verhindern erlaubt es die <methodname>_error()</methodname>
- Methode nicht mehr ohne einen angegebenen Parameter aufgerufen zu werden.
- </para>
- <programlisting language="php"><![CDATA[
- My_Validator extends Zend_Validate_Abstract
- {
- public isValid($value)
- {
- ...
- $this->_error(self::MY_ERROR);
- // Definierter Fehler, keine unerwarteten Ergebnisse
- ...
- }
- }
- ]]></programlisting>
- </sect3>
- <sect3 id="migration.110.zend.validate.datevalidator">
- <title>Vereinfachungen im Date Prüfer</title>
- <para>
- Vor Zend Framework 1.10 wurden 2 identische Nachrichten im Date Prüfer geworfen.
- Es gab <constant>NOT_YYYY_MM_DD</constant> und <constant>FALSEFORMAT</constant>.
- Ab Zend Framework 1.10 wird nur mehr die <constant>FALSEFORMAT</constant> Meldung
- zurückgegeben wenn das angegebene Datum mit dem gesetzten Format nicht
- übereinstimmt.
- </para>
- </sect3>
- <sect3 id="migration.110.zend.validate.barcodevalidator">
- <title>Fehlerbehebungen im Alpha, Alum und Barcode Prüfer</title>
- <para>
- Vor dem Zend Framework 1.10 waren Nachrichten in den 2 Barcode Adaptern, dem Alpha
- und dem Alnum Prüfer identisch. Das führte zu Problemen bei der Verwendung von
- eigenen Meldungen, Übersetzungen oder mehreren Instanzen dieser Prüfer.
- </para>
- <para>
- Mit Zend Framework 1.10 wurden die Werte dieser Konstanten so geändert das Sie
- eindeutig sind. Wenn man, so wie es im Handbuhc erklärt wird, die Konstanten
- verwendet gibt es keine Änderungen. Aber wenn man den Inhalt der Konstanten im
- eigenen Code verwendet dann muß man diese Ändern. Die folgende Tabelle zeigt die
- geänderten Werte:
- </para>
- <table id="migration.110.zend.validate.barcodevalidator.table">
- <title>Vorhandenen Meldungen der Prüfer</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Prüfer</entry>
- <entry>Konstante</entry>
- <entry>Wert</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><classname>Alnum</classname></entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>alnumStringEmpty</entry>
- </row>
- <row>
- <entry><classname>Alpha</classname></entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>alphaStringEmpty</entry>
- </row>
- <row>
- <entry><classname>Barcode_Ean13</classname></entry>
- <entry><constant>INVALID</constant></entry>
- <entry>ean13Invalid</entry>
- </row>
- <row>
- <entry><classname>Barcode_Ean13</classname></entry>
- <entry><constant>INVALID_LENGTH</constant></entry>
- <entry>ean13InvalidLength</entry>
- </row>
- <row>
- <entry><classname>Barcode_UpcA</classname></entry>
- <entry><constant>INVALID_LENGTH</constant></entry>
- <entry>upcaInvalidLength</entry>
- </row>
- <row>
- <entry><classname>Digits</classname></entry>
- <entry><constant>STRING_EMPTY</constant></entry>
- <entry>digitsStringEmpty</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|