PageRenderTime 28ms CodeModel.GetById 16ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms

/documentation/manual/de/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml

https://github.com/decaoz/zf1
XML | 154 lines | 131 code | 21 blank | 2 comment | 0 complexity | 5c1ae44d1000cb3ccc8b796631359edb MD5 | raw file
  1<?xml version="1.0" encoding="UTF-8"?>
  2<!-- EN-Revision: 24249 -->
  3<!-- Reviewed: no -->
  4<sect2 id="zend.application.available-resources.frontcontroller">
  5    <title>Zend_Application_Resource_Frontcontroller</title>
  6
  7    <para>
  8        Die warscheinlich am meisten verwendete Ressource die man mit
  9        <classname>Zend_Application</classname> verwenden wird, ist die Front Controller Ressource,
 10        die eine Möglichkeit bietet den <classname>Zend_Controller_Front</classname> zu
 11        konfigurieren. Diese Ressource bietet die Möglichkeit verschiedenste Front Controller
 12        Parameter zu setzen, Plugins zu spezifizieren die initialisiert werden sollen, und vieles
 13        mehr.
 14    </para>
 15
 16    <para>
 17        Sobald Sie initialisiert wurde, fügt die Ressource die <varname>$frontController</varname>
 18        Eigenschaft vom Bootstrap in die <classname>Zend_Controller_Front</classname> Instanz hinzu.
 19    </para>
 20
 21    <para>
 22        Die folgenden Konfigurationsschlüssel sind vorhanden, und sind abhängig von der
 23        Groß- oder Kleinschreibung:
 24    </para>
 25
 26    <itemizedlist>
 27        <listitem>
 28            <para>
 29                <emphasis><property>controllerDirectory</property></emphasis>: Entweder ein
 30                Stringwert der ein einzelnes Controller Verzeichnis spezifiziert, oder ein Array von
 31                Modul und Controller Verzeichnis Paaren.
 32            </para>
 33        </listitem>
 34
 35        <listitem>
 36            <para>
 37                <emphasis><property>moduleControllerDirectoryName</property></emphasis>: Ein
 38                Stringwert der auf ein Unterverzeichnis unter einem Modul zeigt, das Controller
 39                enthält.
 40            </para>
 41        </listitem>
 42
 43        <listitem>
 44            <para>
 45                <emphasis><property>moduleDirectory</property></emphasis>: Verzeichnis in dem Module
 46                gefunden werden können.
 47            </para>
 48        </listitem>
 49
 50        <listitem>
 51            <para>
 52                <emphasis><property>defaultControllerName</property></emphasis>: Basisname des
 53                Standard Controllers (normalerweise "index").
 54            </para>
 55        </listitem>
 56
 57        <listitem>
 58            <para>
 59                <emphasis><property>defaultAction</property></emphasis>: Basisname der Standard
 60                Aktion (normalerweise "index").
 61            </para>
 62        </listitem>
 63
 64        <listitem>
 65            <para>
 66                <emphasis><property>defaultModule</property></emphasis>: Basisname des Standard
 67                Moduls (normalerweise "default").
 68            </para>
 69        </listitem>
 70
 71        <listitem>
 72            <para>
 73                <emphasis><property>baseUrl</property></emphasis>: Explizite Basis
 74                <acronym>URL</acronym> zur Anwendung (normalerweise automatisch erkannt).
 75            </para>
 76        </listitem>
 77
 78        <listitem>
 79            <para>
 80                <emphasis><property>plugins</property></emphasis>: Array von Front Controller Plugin
 81                Klassennamen. Die Ressource wird jede Klasse instanziieren (ohne Contructor
 82                Argumente) und die Instanz dann mit dem Front Controller registrieren. Wenn man ein
 83                Plugin mit einem speziellen Stackindex registriert muss man ein Array mit den zwei
 84                Schlüsseln <property>class</property> und <property>stackIndex</property> angeben.
 85            </para>
 86        </listitem>
 87
 88        <listitem>
 89            <para>
 90                <emphasis><property>params</property></emphasis>: Array von Schlüssel und Wert
 91                Paaren die mit dem Front Controller registriert werden sollen.
 92            </para>
 93        </listitem>
 94
 95        <listitem>
 96            <para>
 97                <emphasis><property>returnresponse</property></emphasis>: Ob das Response Objekt
 98                nach dem Dispatchen des Front Controllers zurückgegeben wird oder nicht. Der Wert
 99                sollte ein Boolean sein; standardmäßig ist er deaktiviert.
100            </para>
101        </listitem>
102    </itemizedlist>
103
104    <para>
105        Wenn ein Schlüssel übergeben wird der nicht erkannt wird, wird dieser als Parameter beim
106        Front Controller registriert, indem er an <methodname>setParam()</methodname> übergeben
107        wird.
108    </para>
109
110    <example id="zend.application.available-resources.frontcontroller.configExample">
111        <title>Beispiel der Konfiguration einer Front Controller Ressource</title>
112
113        <para>
114            Anbei ist ein Beispiel eines <acronym>INI</acronym> Abschnitts der zeigt wie die Front
115            Controller Ressource konfiguriert werden kann.
116        </para>
117
118        <programlisting language="ini"><![CDATA[
119[production]
120resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
121resources.frontController.moduleControllerDirectoryName = "actions"
122resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
123resources.frontController.defaultControllerName = "site"
124resources.frontController.defaultAction = "home"
125resources.frontController.defaultModule = "static"
126resources.frontController.baseUrl = "/subdir"
127resources.frontController.plugins.foo = "My_Plugin_Foo"
128resources.frontController.plugins.bar = "My_Plugin_Bar"
129resources.frontController.plugins.baz.class = "My_Plugin_Baz"
130resources.frontController.plugins.baz.stackIndex = 123
131resources.frontController.returnresponse = 1
132resources.frontController.env = APPLICATION_ENV
133
134; Das folgende verweist auf:
135; Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
136resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
137]]></programlisting>
138    </example>
139
140    <example id="zend.application.available-resources.frontcontroller.propertyExample">
141        <title>Empfangen des Front Controllers im eigenen Bootstrap</title>
142
143        <para>
144            Sobald die Front Controller Ressource initialisiert wurde, kann die Front Controller
145            Instanz über die <varname>$frontController</varname> Eigenschaft der Bootstraps geholt
146            werden.
147        </para>
148
149        <programlisting language="php"><![CDATA[
150$bootstrap->bootstrap('frontController');
151$front = $bootstrap->frontController;
152]]></programlisting>
153    </example>
154</sect2>