-
Notifications
You must be signed in to change notification settings - Fork 39
/
alternative-syntax.xml
122 lines (119 loc) · 3.62 KB
/
alternative-syntax.xml
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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: a41057cbdf053fd8c3a3bec6f1bbf113ffec8e42 Maintainer: sammywg Status: ready -->
<sect1 xml:id="control-structures.alternative-syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Alternative Syntax für Kontrollstrukturen</title>
<?phpdoc print-version-for="control-structures.alternative-syntax"?>
<para>
PHP bietet eine alternative Syntax für einige seiner Kontrollstrukturen an,
namentlich für <literal>if</literal>, <literal>while</literal>,
<literal>for</literal>, <literal>foreach</literal> und
<literal>switch</literal>. In jedem Fall ist die Grundform der alternativen
Syntax ein Wechsel der öffnenden Klammer gegen einen Doppelpunkt (:) und der
schließenden Klammer in <literal>endif;</literal>, <literal>endwhile</literal>,
<literal>endfor;</literal>, <literal>endforeach;</literal> respektive
<literal>endswitch</literal>.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php if ($a == 5): ?>
A ist gleich 5
<?php endif; ?>
]]>
</programlisting>
</informalexample>
</para>
<simpara>
Im obigen Beispiel ist der HTML-Block "A ist gleich 5" in ein
<literal>if</literal>-Statement verschachtelt, das in alternativer Syntax
notiert ist. Der HTML-Block würde nur angezeigt werden, wenn
<varname>$a</varname> gleich 5 ist.
</simpara>
<para>
Die alternative Syntax lässt sich ebenfalls auf <literal>else</literal> und
<literal>elseif</literal> anwenden. Im Folgenden wird eine
<literal>if</literal>-Struktur mit <literal>elseif</literal>- und
<literal>else</literal>-Teilen im alternativen Format gezeigt:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
if ($a == 5):
echo "a gleich 5";
echo "...";
elseif ($a == 6):
echo "a gleich 6";
echo "!!!";
else:
echo "a ist weder 5 noch 6";
endif;
?>
]]>
</programlisting>
</informalexample>
</para>
<note>
<para>
Das Vermischen unterschiedlicher Schreibweisen im selben Kontrollblock
ist nicht unterstützt.
</para>
</note>
<warning>
<para>
Jegliche Ausgabe (einschließlich Whitespace) zwischen einer
<literal>switch</literal> Anweisung und dem ersten <literal>case</literal>
ist ein Syntax Fehler. Zum Beispiel ist folgendes ungültig:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch; ?>
]]>
</programlisting>
</informalexample>
<para>
Hingegen ist das folgende gültig, da das abschließende Zeilenende nach der
<literal>switch</literal> Anweisung als Teil des schließenden
<literal>?></literal> angesehen wird, und daher zwischen
<literal>switch</literal> und <literal>case</literal> nichts ausgegeben wird:
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php switch ($foo): ?>
<?php case 1: ?>
...
<?php endswitch; ?>
]]>
</programlisting>
</informalexample>
</warning>
<para>
Siehe auch <link linkend="control-structures.while">while</link>,
<link linkend="control-structures.for">for</link> und
<link linkend="control-structures.if">if</link> für weitere Beispiele.
</para>
</sect1>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->