Zend_Application-AvailableResources-Frontcontroller.xml 4.5 KB

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