Zend_Application-AvailableResources-Frontcontroller.xml 4.9 KB

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