Zend_Application-AvailableResources-Frontcontroller.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15289 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.frontcontroller">
  5. <title>Zend_Application_Resource_Frontcontroller</title>
  6. <para>
  7. Die warscheinlich am meisten verwendete Ressource die man mit <classname>Zend_Application</classname>
  8. verwenden wird, ist die Front Controller Ressource, die eine Möglichkeit bietet den
  9. <classname>Zend_Controller_Front</classname> zu konfigurieren. Diese Ressource bietet die Möglichkeit
  10. verschiedenste Front Controller Parameter zu setzen, Plugins zu spezifizieren die
  11. initialisiert werden sollen, und vieles mehr.
  12. </para>
  13. <para>
  14. Sobald Sie initialisiert wurde, fügt die Ressource die <code>frontController</code>
  15. Eigenschaft vom Bootstrap in die <classname>Zend_Controller_Front</classname> Instanz hinzu.
  16. </para>
  17. <para>
  18. Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig von der
  19. Groß-/Kleinschreibung:
  20. </para>
  21. <itemizedlist>
  22. <listitem><para>
  23. <code>controllerDirectory</code>: Entweder ein Stringwert der ein einzelnes Controller
  24. Verzeichnis spezifiziert, oder ein Array von Modul/Controller Verzeichnis Paaren.
  25. </para></listitem>
  26. <listitem><para>
  27. <code>moduleControllerDirectoryName</code>: Ein Stringwert der auf ein Unterverzeichnis
  28. unter einem Modul zeigt, das Controller enthält.
  29. </para></listitem>
  30. <listitem><para>
  31. <code>moduleDirectory</code>: Verzeichnis in dem Module gefunden werden können.
  32. </para></listitem>
  33. <listitem><para>
  34. <code>defaultControllerName</code>: Basisname des Standard Controllers (normalerweise
  35. "index").
  36. </para></listitem>
  37. <listitem><para>
  38. <code>defaultAction</code>: Basisname der Standard Aktion (normalerweise "index").
  39. </para></listitem>
  40. <listitem><para>
  41. <code>defaultModule</code>: Basisname des Standard Moduls (normalerweise "default").
  42. </para></listitem>
  43. <listitem><para>
  44. <code>baseUrl</code>: Explizite Basis URL zur Anwendung (normalerweise automatisch
  45. erkannt).
  46. </para></listitem>
  47. <listitem><para>
  48. <code>plugins</code>: Array von Front Controller Plugin Klassennamen. Die Ressource
  49. wird jede Klasse instanziieren (ohne Contructor Argumente) und die Instanz dann mit dem
  50. Front Controller registrieren.
  51. </para></listitem>
  52. <listitem><para>
  53. <code>params</code>: Array von Schlüssel/Wert Paaren die mit dem Front Controller
  54. registriert werden sollen.
  55. </para></listitem>
  56. </itemizedlist>
  57. <para>
  58. Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser als Parameter beim
  59. Front Controller registriert, indem er an <code>setParam()</code> übergeben wird.
  60. </para>
  61. <example id="zend.application.available-resources.frontcontroller.configExample">
  62. <title>Beispiel der Konfiguration einer Front Controller Ressource</title>
  63. <para>
  64. Anbei ist ein Beispiel eines INI Abschnitts der zeigt wie die Front Controller
  65. Ressource konfiguriert werden kann.
  66. </para>
  67. <programlisting role="ini"><![CDATA[
  68. [production]
  69. resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
  70. resources.frontController.moduleControllerDirectoryName = "actions"
  71. resources.frontController.moduleController = APPLICATION_PATH "/modules"
  72. resources.frontController.defaultControllerName = "site"
  73. resources.frontController.defaultAction = "home"
  74. resources.frontController.defaultModule = "static"
  75. resources.frontController.baseUrl = "/subdir"
  76. resources.frontController.plugins.foo = "My_Plugin_Foo"
  77. resources.frontController.plugins.bar = "My_Plugin_Bar"
  78. resources.frontController.env = APPLICATION_ENV
  79. ]]></programlisting>
  80. </example>
  81. <example id="zend.application.available-resources.frontcontroller.PropertyExample">
  82. <title>Empfangen des Front Controllers im eigenen Bootstrap</title>
  83. <para>
  84. Sobald die Front Controller Ressource initialisiert wurde, kann die Front Controller
  85. Instanz über die <code>frontController</code> Eigenschaft der Bootstraps geholt werden.
  86. </para>
  87. <programlisting role="php"><![CDATA[
  88. $bootstrap->bootstrap('frontController');
  89. $front = $bootstrap->frontController;
  90. ]]></programlisting>
  91. </example>
  92. </sect2>