2
0

Zend_Application-AvailableResources-Frontcontroller.xml 4.7 KB

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