mirror of
https://github.com/php/doc-fr.git
synced 2026-03-24 07:02:06 +01:00
285 lines
9.2 KiB
XML
285 lines
9.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: c63057033539758cb2e6ed4786c4d59b9ed059a5 Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
<!-- CREDITS: DavidA -->
|
|
|
|
<chapter xml:id="language.basic-syntax" xmlns="http://docbook.org/ns/docbook">
|
|
<title>La syntaxe de base</title>
|
|
<sect1 xml:id="language.basic-syntax.phptags">
|
|
<title>Balises PHP</title>
|
|
<para>
|
|
Lorsque PHP traite un fichier, il cherche les balises d'ouverture et
|
|
de fermeture (<literal><?php</literal> et <literal>?></literal>)
|
|
qui délimitent le code qu'il doit interpréter. De cette
|
|
manière, cela permet à PHP d'être intégré dans toutes sortes de documents,
|
|
car tout ce qui se trouve en dehors des balises ouvrantes / fermantes de
|
|
PHP est ignoré.
|
|
</para>
|
|
|
|
<para>
|
|
PHP inclus une balise ouvrante echo courte <literal><?=</literal> qui
|
|
est un raccourci au code plus verbeux <code><?php echo</code>.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Balises d'ouvertures et de fermetures PHP</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
1. <?php echo 'Si vous voulez intégrez 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 'print this string' ?>.
|
|
|
|
3. <? echo 'ce code est entre des balises courtes'; ?>
|
|
Le code suivant <?= 'du texte' ?> est un raccourci pour <? echo 'du texte' ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Les balises courtes (troisième exemple) sont disponibles par défaut,
|
|
mais peuvent être désactivé soit via l'option
|
|
<link linkend="ini.short-open-tag">short_open_tag</link>
|
|
du fichier de configuration &php.ini;, ou sont désactivé 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é 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 contient seulement 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é.
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo "Bonjour le monde !";
|
|
|
|
// ... encore du code
|
|
|
|
echo "Dernière instruction";
|
|
|
|
// le script se termine ici, sans la balise de fermeture PHP
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
</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.
|
|
<informalexample>
|
|
<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>
|
|
</informalexample>
|
|
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, au quel cas,
|
|
l'interpréteur va déterminer la condition à prendre en compte avant de prendre
|
|
une décision sur ce qui doit être afficher.
|
|
Voir le prochain exemple.
|
|
</para>
|
|
<para>
|
|
Utilisation de structures avec des conditions
|
|
<example>
|
|
<title>Echappement avancé en utilisant des conditions</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php if ($expression == true): ?>
|
|
Ceci sera affiché si l'expression est vrai.
|
|
<?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 si 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 remplie 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é 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 ;
|
|
vous n'avez donc pas besoin d'utiliser un point-virgule
|
|
pour terminer la dernière ligne d'un bloc PHP. La balise fermante
|
|
d'un bloc inclue le caractère de nouvelle ligne suivi immédiatement si un
|
|
est présent.
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Exemple montrant que la balise fermente 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>
|
|
Exemples d'entrée et de sortie de l'analyseur PHP :
|
|
|
|
<informalexample>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'This is a test';
|
|
?>
|
|
|
|
<?php echo 'This is a test' ?>
|
|
|
|
<?php echo 'We omitted the last closing tag';
|
|
]]>
|
|
</programlisting>
|
|
</informalexample>
|
|
|
|
<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,
|
|
vous pourrez toujours ajouter des en-têtes à la réponse plus tard. C'est utile
|
|
également si vous voulez utiliser l'affichage du buffer et que vous ne voulez pas
|
|
voir d'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 :
|
|
|
|
<example>
|
|
<title>Exemple de commentaire</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
echo 'Ceci est un test'; // Ceci est un commentaire sur une seule ligne, style c++
|
|
/* Ceci est un commentaire sur
|
|
plusieurs lignes */
|
|
echo 'Ceci est un autre test';
|
|
echo 'Et un test final'; # 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é. Vous devriez faire attention aux commentaires style 'C'
|
|
nichés dans de gros blocs lorsque vous les commentez.
|
|
</simpara>
|
|
<para>
|
|
<example>
|
|
<title>Les commentaires de type C</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/*
|
|
echo 'Ceci est un test'; /* Ce commentaire posera un problème */
|
|
*/
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</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:
|
|
--> |