mirror of
https://github.com/php/doc-fr.git
synced 2026-03-23 22:52:18 +01:00
297 lines
9.6 KiB
XML
297 lines
9.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 0e618211e53c66f33762be225a4d57c08ef4b2f7 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<!-- CREDITS: DavidA -->
|
|
|
|
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook" annotations="interactive">
|
|
<title>La syntaxe de base</title>
|
|
<sect1 xml:id="language.basic-syntax.phptags">
|
|
<title>Balises PHP</title>
|
|
<para>
|
|
Lorsque PHP traite un fichier, il reconnaît les balises d'ouverture et
|
|
de fermeture, <literal><?php</literal> et <literal>?></literal>, pour
|
|
définir les limites de l'exécution du code PHP. Le contenu en dehors des
|
|
balises est ignoré par l'analyseur PHP, permettant à PHP de s'intégrer
|
|
de manière transparente dans divers types de documents.
|
|
</para>
|
|
|
|
<para>
|
|
Un caractère d'espace (espace, tabulation, ou nouvelle ligne) doit suivre
|
|
<literal><?php</literal> pour assurer une séparation correcte des jetons.
|
|
Omettre cet espace blanc entraînera une erreur de syntaxe.
|
|
</para>
|
|
|
|
<para>
|
|
PHP inclut également la balise courte echo <literal><?=</literal>,
|
|
qui est un raccourci pour <code><?php echo</code>.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Balises d'ouverture et de fermeture PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
1. <?php echo 'Si vous voulez intégrer du code PHP dans des documents XHTML ou XML, utilisez ces balises'; ?>
|
|
|
|
2. Vous pouvez utiliser la balise courte pour <?= 'écrire ce texte' ?>.
|
|
Est équivalent à <?php echo 'écrire ce texte' ?>.
|
|
|
|
3. <? echo 'ce code est entre des balises courtes, mais ne fonctionnera '.
|
|
'que si short_open_tag est activé'; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Les balises courtes (troisième exemple) sont disponibles par défaut,
|
|
mais peuvent être désactivées soit via l'option
|
|
<link linkend="ini.short-open-tag">short_open_tag</link>
|
|
du fichier de configuration &php.ini;, ou sont désactivées par défaut si PHP
|
|
est compilé avec l'option <option>--disable-short-tags</option>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Comme les balises courtes peuvent être désactivées il est recommandé de
|
|
seulement utiliser les balises normales (<code><?php ?></code> et
|
|
<code><?= ?></code>) pour maximiser la compatibilité.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
|
|
<para>
|
|
Si un fichier se termine avec du code PHP, il est préférable de ne pas placer
|
|
la balise de fermeture à la fin du fichier. Ceci permet d'éviter d'oublier
|
|
un espace ou une nouvelle ligne après la balise de fermeture de PHP, ce qui
|
|
causerait des effets non voulus car PHP commencera à afficher la sortie,
|
|
ce qui n'est souvent pas le cas désiré.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Fichier contenant uniquement du code PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Bonjour le monde\n";
|
|
|
|
// ... encore du code
|
|
|
|
echo "Dernière instruction\n";
|
|
|
|
// le script se termine ici, sans la balise de fermeture PHP
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.phpmode">
|
|
<title>Échappement depuis du HTML</title>
|
|
<para>
|
|
Tout ce qui se trouve en dehors d'une paire de balises ouvrantes/fermantes
|
|
est ignoré par l'analyseur PHP, ce qui permet d'avoir des fichiers PHP
|
|
mixant les contenus. Ceci permet à PHP d'être contenu dans des documents
|
|
HTML, pour créer par exemple des templates.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Intégrer du PHP dans du HTML</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<p>Ceci sera ignoré par PHP et affiché au navigateur.</p>
|
|
<?php echo 'Alors que ceci sera analysé par PHP.'; ?>
|
|
<p>Ceci sera aussi ignoré par PHP et affiché au navigateur.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Ceci fonctionne comme prévu parce que lorsque l'interpréteur PHP rencontre
|
|
la balise fermante ?>, il commence simplement à afficher ce qu'il
|
|
rencontre (mis à part la nouvelle ligne qui est immédiatement suivie : voir
|
|
l'<link linkend="language.basic-syntax.instruction-separation">instruction
|
|
de séparation</link>) jusqu'à ce qu'il rencontre une autre balise ouvrante
|
|
même si PHP se trouve au milieu d'une instruction conditionnelle, auquel cas,
|
|
l'interpréteur va déterminer la condition à prendre en compte avant de prendre
|
|
une décision sur ce qui doit être affiché.
|
|
Voir le prochain exemple.
|
|
</para>
|
|
<para>
|
|
Utilisation de structures avec des conditions
|
|
<example>
|
|
<title>Échappement avancé en utilisant des conditions</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php if ($expression == true): ?>
|
|
Ceci sera affiché si l'expression est vraie.
|
|
<?php else: ?>
|
|
Sinon, ceci sera affiché.
|
|
<?php endif; ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Dans cet exemple, PHP va ignorer les blocs où la condition n'est pas remplie,
|
|
même s'ils sont en dehors des balises ouvrantes/fermantes de PHP. PHP
|
|
va les ignorer suivant la condition vu que l'interpréteur PHP va passer
|
|
les blocs contenant ce qui n'est pas rempli par la condition.
|
|
</para>
|
|
<para>
|
|
Pour afficher de gros blocs de texte, il est plus efficace de sortir
|
|
du mode d'analyse de PHP plutôt que d'envoyer le texte via la fonction
|
|
<function>echo</function> ou
|
|
<function>print</function>.
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
Si PHP est intégré dans un document XML ou XHTML, la balise PHP
|
|
standard <code><?php ?></code> doit être utilisée pour rester
|
|
conforme aux standards.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="language.basic-syntax.instruction-separation">
|
|
<title>Séparation des instructions</title>
|
|
<para>
|
|
Comme en C ou en Perl, PHP requiert que les instructions soient terminées
|
|
par un point-virgule à la fin de chaque instruction. La balise
|
|
fermante d'un bloc de code PHP implique automatiquement un point-virgule ;
|
|
il n'est donc pas nécessaire d'utiliser un point-virgule
|
|
pour terminer la dernière ligne d'un bloc PHP. La balise fermante du bloc
|
|
englobera la ligne suivante, si elle existe.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Exemple montrant que la balise fermante englobe la nouvelle ligne qui suit</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php echo "Some text"; ?>
|
|
No newline
|
|
<?= "But newline now" ?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Some textNo newline
|
|
But newline now
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Exemples d'entrée et de sortie du parseur PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Ceci est un test\n";
|
|
?>
|
|
|
|
<?php echo "Ceci est un test\n" ?>
|
|
|
|
<?php echo "La dernière balise fermante a été omise\n";
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<note>
|
|
<para>
|
|
La balise fermante d'un bloc PHP à la fin d'un fichier est optionnelle,
|
|
et parfois, il est utile de l'omettre lors de l'utilisation de la fonction
|
|
<function>include</function> ou
|
|
de la fonction <function>require</function>,
|
|
car les espaces non désirés n'apparaîtront pas à la fin des fichiers, et ainsi,
|
|
il sera toujours possible d'ajouter des en-têtes à la réponse plus tard. C'est utile
|
|
également lors de l'utilisation de l'affichage du buffer pour éviter de
|
|
voir des espaces blancs ajoutés à la fin des parties générées par les fichiers
|
|
inclus.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</sect1>
|
|
<sect1 xml:id="language.basic-syntax.comments">
|
|
<title>Commentaires</title>
|
|
<para>
|
|
PHP supporte les commentaires de type C, C++ et Shell Unix (aussi
|
|
appelé style Perl). Par exemple :
|
|
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Commentaires</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Ceci est un test\n"; // Ceci est un commentaire sur une seule ligne, style c++
|
|
/* Ceci est un commentaire sur
|
|
plusieurs lignes */
|
|
echo "Ceci est un autre test\n";
|
|
echo "Et un test final\n"; # Ceci est un commentaire style shell sur une seule ligne
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Les commentaires sur une seule ligne ne commentent que jusqu'à la fin
|
|
de la ligne du bloc PHP courant.
|
|
Ceci signifie que le code HTML après <literal>// ... ?></literal>
|
|
ou après <literal># ... ?></literal> SERA affiché :
|
|
?> terminera le mode PHP et retournera en mode HTML, et
|
|
<literal>//</literal> ou <literal>#</literal> n'influencera pas cela.
|
|
</simpara>
|
|
<para>
|
|
<example>
|
|
<title>Les commentaires vont jusqu'à la fin de la ligne</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<h1>Ceci est un exemple <?php # echo 'simple';?></h1>
|
|
<p>La ligne ci-dessus affichera 'Ceci est un exemple'.</p>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Les commentaires style 'C' commentent jusqu'à ce que le premier <literal>*/</literal>
|
|
soit rencontré. Il faut faire attention aux commentaires style 'C'
|
|
nichés dans de gros blocs lors de la mise en commentaire.
|
|
</simpara>
|
|
<para>
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
echo 'Ceci est un test'; /* Ce commentaire posera un problème */
|
|
*/
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</para>
|
|
</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:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
-->
|