| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15787 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.frontcontroller">
- <title>Zend_Application_Resource_Frontcontroller</title>
- <para>
- Die warscheinlich am meisten verwendete Ressource die man mit
- <classname>Zend_Application</classname> verwenden wird, ist die Front Controller Ressource,
- die eine Möglichkeit bietet den <classname>Zend_Controller_Front</classname> zu
- konfigurieren. Diese Ressource bietet die Möglichkeit verschiedenste Front Controller
- Parameter zu setzen, Plugins zu spezifizieren die initialisiert werden sollen, und vieles
- mehr.
- </para>
- <para>
- Sobald Sie initialisiert wurde, fügt die Ressource die <varname>$frontController</varname>
- Eigenschaft vom Bootstrap in die <classname>Zend_Controller_Front</classname> Instanz hinzu.
- </para>
- <para>
- Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig von der
- Groß-/Kleinschreibung:
- </para>
- <itemizedlist>
- <listitem><para>
- <emphasis>controllerDirectory</emphasis>: Entweder ein Stringwert der ein einzelnes
- Controller Verzeichnis spezifiziert, oder ein Array von Modul/Controller Verzeichnis
- Paaren.
- </para></listitem>
- <listitem><para>
- <emphasis>moduleControllerDirectoryName</emphasis>: Ein Stringwert der auf ein
- Unterverzeichnis unter einem Modul zeigt, das Controller enthält.
- </para></listitem>
- <listitem><para>
- <emphasis>moduleDirectory</emphasis>: Verzeichnis in dem Module gefunden werden können.
- </para></listitem>
- <listitem><para>
- <emphasis>defaultControllerName</emphasis>: Basisname des Standard Controllers
- (normalerweise "index").
- </para></listitem>
- <listitem><para>
- <emphasis>defaultAction</emphasis>: Basisname der Standard Aktion (normalerweise
- "index").
- </para></listitem>
- <listitem><para>
- <emphasis>defaultModule</emphasis>: Basisname des Standard Moduls (normalerweise
- "default").
- </para></listitem>
- <listitem><para>
- <emphasis>baseUrl</emphasis>: Explizite Basis <acronym>URL</acronym> zur Anwendung
- (normalerweise automatisch erkannt).
- </para></listitem>
- <listitem><para>
- <emphasis>plugins</emphasis>: Array von Front Controller Plugin Klassennamen. Die
- Ressource wird jede Klasse instanziieren (ohne Contructor Argumente) und die Instanz
- dann mit dem Front Controller registrieren.
- </para></listitem>
- <listitem><para>
- <emphasis>params</emphasis>: Array von Schlüssel/Wert Paaren die mit dem Front
- Controller registriert werden sollen.
- </para></listitem>
- </itemizedlist>
- <para>
- Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser als Parameter beim
- Front Controller registriert, indem er an <methodname>setParam()</methodname> übergeben
- wird.
- </para>
- <example id="zend.application.available-resources.frontcontroller.configExample">
- <title>Beispiel der Konfiguration einer Front Controller Ressource</title>
- <para>
- Anbei ist ein Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die Front
- Controller Ressource konfiguriert werden kann.
- </para>
- <programlisting language="ini"><![CDATA[
- [production]
- resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
- resources.frontController.moduleControllerDirectoryName = "actions"
- resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
- resources.frontController.defaultControllerName = "site"
- resources.frontController.defaultAction = "home"
- resources.frontController.defaultModule = "static"
- resources.frontController.baseUrl = "/subdir"
- resources.frontController.plugins.foo = "My_Plugin_Foo"
- resources.frontController.plugins.bar = "My_Plugin_Bar"
- resources.frontController.env = APPLICATION_ENV
- ]]></programlisting>
- </example>
- <example id="zend.application.available-resources.frontcontroller.propertyExample">
- <title>Empfangen des Front Controllers im eigenen Bootstrap</title>
- <para>
- Sobald die Front Controller Ressource initialisiert wurde, kann die Front Controller
- Instanz über die <varname>$frontController</varname> Eigenschaft der Bootstraps geholt
- werden.
- </para>
- <programlisting language="php"><![CDATA[
- $bootstrap->bootstrap('frontController');
- $front = $bootstrap->frontController;
- ]]></programlisting>
- </example>
- </sect2>
|