Files
doc-fr/language/basic-syntax.xml
T
Damien Seguy 5ff1687f11 going to iso-8859-1
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@147482 c90b9560-bf6c-de11-be94-00142212c4b1
2003-12-30 13:13:59 +00:00

219 lines
7.6 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.19 $ -->
<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>&lt;?php. . .?&gt; et &lt;script
language="php"&gt;. . .&lt;/script&gt;</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>&lt;?php. . .?&gt;</literal> pour vous conformer au XML.
</para>
<para>
<example>
<title>Le passage du HTML à &php; </title>
<programlisting role="php">
<![CDATA[
<?php
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 (?&gt;) 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 ?&gt; et &lt;?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 (?&gt;) 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
// ?&gt; sera affiché, car &php; retourne alors en mode texte
juste après la balise ?&gt;.
</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:
-->