File: Zend_Application-AvailableResources-Frontcontroller.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (154 lines) | stat: -rw-r--r-- 6,297 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- 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ß- oder Kleinschreibung:
    </para>

    <itemizedlist>
        <listitem>
            <para>
                <emphasis><property>controllerDirectory</property></emphasis>: Entweder ein
                Stringwert der ein einzelnes Controller Verzeichnis spezifiziert, oder ein Array von
                Modul und Controller Verzeichnis Paaren.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>moduleControllerDirectoryName</property></emphasis>: Ein
                Stringwert der auf ein Unterverzeichnis unter einem Modul zeigt, das Controller
                enthält.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>moduleDirectory</property></emphasis>: Verzeichnis in dem Module
                gefunden werden können.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>defaultControllerName</property></emphasis>: Basisname des
                Standard Controllers (normalerweise "index").
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>defaultAction</property></emphasis>: Basisname der Standard
                Aktion (normalerweise "index").
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>defaultModule</property></emphasis>: Basisname des Standard
                Moduls (normalerweise "default").
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>baseUrl</property></emphasis>: Explizite Basis
                <acronym>URL</acronym> zur Anwendung (normalerweise automatisch erkannt).
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>plugins</property></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. Wenn man ein
                Plugin mit einem speziellen Stackindex registriert muss man ein Array mit den zwei
                Schlüsseln <property>class</property> und <property>stackIndex</property> angeben.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>params</property></emphasis>: Array von Schlüssel und Wert
                Paaren die mit dem Front Controller registriert werden sollen.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><property>returnresponse</property></emphasis>: Ob das Response Objekt
                nach dem Dispatchen des Front Controllers zurückgegeben wird oder nicht. Der Wert
                sollte ein Boolean sein; standardmäßig ist er deaktiviert.
            </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.plugins.baz.class = "My_Plugin_Baz"
resources.frontController.plugins.baz.stackIndex = 123
resources.frontController.returnresponse = 1
resources.frontController.env = APPLICATION_ENV

; Das folgende verweist auf:
; Zend_Controller_Action_HelperBroker::addPath('Helper_Path', $helperPrefix);
resources.frontController.actionHelperPaths.HELPER_Prefix = "My/Helper/Path"
]]></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>