migration-08.xml 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="migration.08">
  5. <title>Zend Framework 0.8</title>
  6. <para>
  7. Wenn man von einem älteren Release auf Zend Framework 0.8 oder höher hochrüstet sollte
  8. man die folgenden Migrations Hinweise beachten.
  9. </para>
  10. <sect2 id="migration.08.zend.controller">
  11. <title>Zend_Controller</title>
  12. <para>
  13. Durch bisherige Änderungen bleibt die wesentliche Verwendung der <acronym>MVC</acronym>
  14. Komponenten gleich:
  15. </para>
  16. <programlisting language="php"><![CDATA[
  17. require_once 'Zend/Controller/Front.php';
  18. Zend_Controller_Front::run('/path/to/controllers');
  19. ]]></programlisting>
  20. <para>
  21. Dennoch wurde die Verzeichnisstruktur gründliche überarbeitet, verschiedene Komponenten
  22. wurden entfernt und mehrere andere umbenannt und hinzugefügt. Die Änderungen beinhalten:
  23. </para>
  24. <itemizedlist>
  25. <listitem>
  26. <para>
  27. <classname>Zend_Controller_Router</classname> wurde entfernt für den Rewrite
  28. Router entfernt.
  29. </para>
  30. </listitem>
  31. <listitem>
  32. <para>
  33. <classname>Zend_Controller_RewriteRouter</classname> wurde in
  34. <classname>Zend_Controller_Router_Rewrite</classname> umbenannt und zum Standard
  35. Router befördert, der mit dem Framework ausgeliefert wird;
  36. <classname>Zend_Controller_Front</classname> wird ihn als Standard verwenden,
  37. wenn kein anderer Router übergeben wird.
  38. </para>
  39. </listitem>
  40. <listitem>
  41. <para>
  42. Eine neue Route Klasse für die Verwendung mit dem Rewrite Router wurde
  43. eingeführt: <classname>Zend_Controller_Router_Route_Module</classname>; sie
  44. deckt die Standardrouten ab, die vom <acronym>MVC</acronym> verwendet werden
  45. und bietet die Unterstützung für <link
  46. linkend="zend.controller.modular">Controller Module</link>.
  47. </para>
  48. </listitem>
  49. <listitem>
  50. <para>
  51. <classname>Zend_Controller_Router_StaticRoute</classname> wurde umbenannt in
  52. <classname>Zend_Controller_Router_Route_Static</classname>.
  53. </para>
  54. </listitem>
  55. <listitem>
  56. <para>
  57. <classname>Zend_Controller_Dispatcher</classname> wurde umbenannt in
  58. <classname>Zend_Controller_Dispatcher_Standard</classname>.
  59. </para>
  60. </listitem>
  61. <listitem>
  62. <para>
  63. <methodname>Zend_Controller_Action::_forward()</methodname>'s Argumente wurden
  64. geändert. Die Signatur ist nun:
  65. </para>
  66. <programlisting language="php"><![CDATA[
  67. final protected function _forward($action,
  68. $controller = null,
  69. $module = null,
  70. array $params = null);
  71. ]]></programlisting>
  72. <para>
  73. <varname>$action</varname> wird immer benötigt; wenn kein Controller angegeben
  74. wird, wird eine Action im aktuellen Controller angenommen.
  75. <varname>$module</varname> wird immer ignoriert, es sei denn
  76. <varname>$controller</varname> wird angegeben. Schließlich werden alle
  77. übergebenen Parameter <varname>$params</varname> an das Request Objekt
  78. angehängt. Wenn man keinen Controller oder kein Modul angeben, aber dennoch
  79. Parameter übergeben möchte, gibt man einfach <constant>NULL</constant> für diese
  80. Werte an.
  81. </para>
  82. </listitem>
  83. </itemizedlist>
  84. </sect2>
  85. </sect1>