Zend_Validate-Migration.xml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17471 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.validate.migration">
  5. <title>Migration von vorhergehenden Versionen</title>
  6. <para>
  7. Die <acronym>API</acronym> von <classname>Zend_Validate</classname> wurde von Zeit zu Zeit
  8. geändert. Wenn man begonnen hat <classname>Zend_Validate</classname> und dessen
  9. Unterkomponenten in früheren Versionen zu verwenden sollte man den folgenden
  10. Richtlinien folgen um eigene Skripte zur neuen <acronym>API</acronym> zu migrieren.
  11. </para>
  12. <sect2 id="zend.validate.migration.fromoneninetooneten">
  13. <title>Migration von 1.9 zu 1.10 oder neuer</title>
  14. <sect3 id="zend.validate.migration.fromoneninetooneten.selfwritten">
  15. <title>Selbst geschriebene Adapter</title>
  16. <para>
  17. Wenn in einer selbst geschriebenen Prüfung ein Fehler gesetzt wird um diesen
  18. zurückzugeben muß die <methodname>_error()</methodname> Methode aufgerufen werden.
  19. Vor Zend Framework 1.10 konnte man diese Methode ohne einen angegebenen Parameter
  20. aufrufen. Es wurde dann das erste gefundene Nachrichtentemplate verwendet.
  21. </para>
  22. <para>
  23. Dieses Verhalten ist problematisch wenn man Prüfungen hat die mehr als eine
  24. Nachricht zurückgeben kann. Auch wenn man eine existierende Prüfung erweitert kann
  25. man unerwartete Ergebnisse erhalten. Das kann zum Problem führen das der Benutzer
  26. nicht die Nachricht erhält die man erwartet.
  27. </para>
  28. <programlisting language="php"><![CDATA[
  29. My_Validator extends Zend_Validate_Abstract
  30. {
  31. public isValid($value)
  32. {
  33. ...
  34. $this->_error(); // Unerwartete Ergebnisse zwischen verschiedenen OS
  35. ...
  36. }
  37. }
  38. ]]></programlisting>
  39. <para>
  40. Um dieses Problem zu verhindern erlaubt es die <methodname>_error()</methodname>
  41. Methode nicht mehr ohne einen angegebenen Parameter aufgerufen zu werden.
  42. </para>
  43. <programlisting language="php"><![CDATA[
  44. My_Validator extends Zend_Validate_Abstract
  45. {
  46. public isValid($value)
  47. {
  48. ...
  49. $this->_error(self::MY_ERROR);
  50. // Definierter Fehler, keine unerwarteten Ergebnisse
  51. ...
  52. }
  53. }
  54. ]]></programlisting>
  55. </sect3>
  56. </sect2>
  57. </sect1>