-
Notifications
You must be signed in to change notification settings - Fork 165
Expand file tree
/
Copy pathbasic-syntax.xml
More file actions
217 lines (214 loc) · 7.68 KB
/
basic-syntax.xml
File metadata and controls
217 lines (214 loc) · 7.68 KB
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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.21 $ -->
<!-- EN-Revision: 1.1 Maintainer: nobody Status: partial -->
<chapter id="language.basic-syntax">
<title>La syntaxe de base</title>
<sect1 id="language.basic-syntax.phpmode">
<title>Passer du HTML au &php;</title>
<para>
Lorsque &php; commence à traiter un fichier, il ne fait qu'afficher
le texte qu'il rencontre, jusqu'à ce qu'il rencontre une balise spéciale
qui lui indiquera qu'il peut interpréter le code qui suit. L'analyseur
&php; va alors exécuter ce code, jusqu'à ce qu'il rencontre une balise
de fin de code &php;. A ce moment là, il retourne en mode texte, et
il affiche simplement le contenu. C'est ce mécanisme qui vous permet
d'inclure du code &php; dans des pages HTML : tout ce qui est placé hors
des balises &php; est affiché sans modification, tandis que le contenu
est exécuté.
</para>
<para>
Il y a quatre jeux de balises qui servent à délimiter des blocs
de code &php;. Seules deux d'entre elles sont toujours actives :
c'est <literal><?php. . .?> et <script
language="php">. . .</script></literal>). Tandis que les autres peuvent
être activées et désactivées depuis le fichier de configuration
&php.ini;. Les balises courtes et les balises <productname>ASP</productname>
peuvent être pratiques,
mais elles ne sont pas aussi portables que les versions longues. De plus,
si vous envisagez d'inclure du &php; dans des fichiers
XML ou XHTML, vous devrez utiliser la forme
<literal><?php. . .?></literal> pour vous conformer au XML.
</para>
<para>
<example>
<title>Le passage du HTML à &php; </title>
<programlisting role="php">
<![CDATA[
1. <?php echo("Si vous voulez afficher du XML ou du XHTML, faites comme ceci.\n"); ?>
2. <? echo ("Ceci est un exemple d'affichage à l'écran en PHP, sous forme d'expression SGML.\n"); ?>
<?= expression ?> Raccourci de "<? echo expression ?>"
3. <script language="php">
echo ("Certains éditeurs HTML (comme FrontPage)
n'acceptent pas les expressions telles que celle-ci.");
</script>
4. <% echo ("Vous pouvez aussi utiliser le style ASP comme délimiteur."); %>
<%= $variable; # ceci est un raccourci pour "<%%echo .." %>
]]>
</programlisting>
</example>
</para>
<para>
La première méthode est généralement utilisée,
car elle permet une implémentation aisée de &php; avec la
prochaine génération de XHTML.
</para>
<para>
La deuxième forme n'est valable que si vous l'avez activée.
Soit en faisant appel à la fonction
<literal>short_tags()</literal> (uniquement en &php; 3), soit en utilisant l'option
d'exécution <link linkend="ini.short-open-tag"><option>short_open_tag</option></link>
dans le fichier de configuration &php.ini;, soit encore en utilisant
l'option de compilation
<link linkend="install.configure.disable-short-tags"><option>--enable-short-tags</option></link>.
Même si les balises courtes sont activées dans le fichier de configuration
<filename>php.ini-dist</filename>, leur utilisation est déconseillée.
</para>
<para>
La quatrième forme est seulement disponible
si vous l'avez activée en utilisant l'option
d'exécution <link linkend="ini.asp-tags"><option>asp_tags</option></link>.
<note>
<para>
Le support des balises <productname>ASP</productname> a été
ajouté en &php; 3.0.4.
</para>
</note>
</para>
<note>
<para>
L'utilisation des balises courtes doit être évitées lors
du développement d'applications et de librairies destinées à être
distribuées ou déployées sur des serveurs qui sont hors de votre
contrôle, car ces balises ne seront pas forcément supportées
par le serveur de destination. Pour rendre vos scripts portables
et faciles à distribuer, évitez les balises courtes.
</para>
</note>
<para>
La marque de fermeture d'un bloc (?>) comprend le caractère de nouvelle
ligne qui le suit immédiatement, s'il y en a un. De plus, la balise fermante
implique un point-virgule. Vous n'êtes pas obligés de mettre le point-virgule
à la fin d'un bloc de &php;.
</para>
<para> <!-- TODO: find a better place for this para -->
&php; vous permet d'utiliser des structures telles que :
<example>
<title>Méthode avancée</title>
<programlisting role="php">
<![CDATA[
<?php
if ( expression-booléenne ) {
?>
<strong>Ceci est vrai.</strong>
<?php
} else {
?>
<strong>Ceci est faux.</strong>
<?php
}
?>
]]>
</programlisting>
</example>
Cela fonctionne comme on peut s'y attendre, car &php; affiche le texte
entre les balises ?> et <?php sans modification. L'exemple ci-dessus
est très simple, mais c'est un bon système à garder en tête pour
afficher de grandes quantités de texte : c'est même plus efficace que
d'utiliser les fonctions <function>echo</function> ou
<function>print</function>.
</para>
</sect1>
<sect1 id="language.basic-syntax.instruction-separation">
<title>Le séparateur d'instructions</title>
<simpara>
Les instructions sont séparées par un point virgule à
chaque fin d'instruction, comme en langage C ou en Perl.
</simpara>
<para>
La balise de fin (?>) implique la fin d'une instruction, et donc
ajoute implicitement un point virgule. Les deux exemples suivants
sont équivalents.
<example>
<title>Le séparateur d'instructions</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Ceci est un test";
?>
<?php echo "Ceci est un test" ?>
]]>
</programlisting>
</example>
</para>
</sect1>
<sect1 id="language.basic-syntax.comments">
<title>Commentaires</title>
<para>
&php; supporte les commentaires comme en C, C++ et Shell Unix. Par exemple :
<example>
<title>Commentaires en &php;</title>
<programlisting role="php">
<![CDATA[
<?php
echo "Ceci est un test"; // Ceci est un commentaire sur une ligne comme en C++
/* Ceci est un commentaire sur plusieurs lignes,
comme en C et C++ */
echo "Ceci est encore un test";
echo "Enfin, le test final"; # Ceci est un commentaire comme en Shell Unix
?>
]]>
</programlisting>
</example>
</para>
<example>
<title>Commentaires en &php; (2)</title>
<programlisting role="php">
<![CDATA[
<h1>Ceci est un <?php # echo "simple";?> exemple.</h1>
<p>L'entête ci-dessus affiche 'Ceci est un exemple'.
]]>
</programlisting>
</example>
<simpara>
Faites attention à ne pas emboîter les commentaires de type
langage C, ce qui arrive de temps en temps lorsque vous voulez commenter
une grande partie de code.
</simpara>
<example>
<title>Commentaires emboîtés</title>
<programlisting role="php">
<![CDATA[
<?php
/*
echo "Ceci est un test"; /* Ce commentaire va poser un problème */
*/
?>
]]>
</programlisting>
</example>
<simpara>
Les commentaires // commentent jusqu'à la
fin de la ligne ou bien jusqu'à la fin du bloc (le premier
des deux). Cela signifie que du code HTML placé après
// ?> sera affiché, car &php; retourne alors en mode texte
juste après la balise ?>.
</simpara>
</sect1>
</chapter>
<!-- 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:"../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
-->