mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-26 01:42:09 +01:00
git-svn-id: https://svn.php.net/repository/phpdoc/fr/trunk@160562 c90b9560-bf6c-de11-be94-00142212c4b1
563 lines
24 KiB
XML
Executable File
563 lines
24 KiB
XML
Executable File
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.24 $ -->
|
|
<!-- EN-Revision: 1.34 Maintainer: dams Status: ready -->
|
|
<chapter id="tutorial">
|
|
<title>Une introduction à &php;</title>
|
|
|
|
<para>
|
|
Dans cette section, nous voulons illustrer les principes de base
|
|
de &php; dans une courte introduction. Ce chapitre traite uniquement
|
|
de créations de pages web dynamiques avec &php;, laissant de coté
|
|
temporairement les autres possibilités de &php;. Voyez la section
|
|
<link linkend="intro-whatcando">Ce que peut faire &php;</link> pour
|
|
plus d'informations.
|
|
</para>
|
|
<para>
|
|
Les pages web qui exploitent &php; sont traitées comme des pages
|
|
HTML standards, et vous pouvez les créer, éditer et effacer
|
|
tout comme vous le faîtes normalement avec des pages HTML
|
|
classiques.
|
|
</para>
|
|
|
|
<sect1 id="tutorial.requirements">
|
|
<title>Le nécessaire</title>
|
|
<para>
|
|
Dans ce tutoriel, nous présumons que vous avez un serveur
|
|
web avec le support &php; activé, et que les fichiers terminés
|
|
par l'extension <filename>.php</filename> sont traités par
|
|
&php;. Sur la plupart des serveurs, c'est la configuration par
|
|
défaut, mais n'hésitez pas à interroger votre administrateur
|
|
système en cas de doute. Si votre serveur web supporte &php;,
|
|
vous n'avez rien à faire. Simplement, créez un dossier,
|
|
puis créez un fichier texte, avec l'extension <filename>.php</filename> :
|
|
le serveur va automatiquement l'exécuter avec &php;. Il n'y a pas
|
|
de compilation, ou d'installation compliquée. Gardez en tête que
|
|
les fichiers sont comparables à des fichiers HTML, dans lequels
|
|
vous allez utiliser des balises magiques, qui feront beaucoup
|
|
de choses pour vous. Beaucoup d'hébergeurs web proposent
|
|
&php; mais si votre hébergeur ne le propose pas, lisez la section des
|
|
<ulink url="&url.php.links;">liens &php;</ulink> pour trouver un hébergeur web
|
|
le proposant.
|
|
</para>
|
|
<para>
|
|
Supposons que vous souhaitiez économiser du temps en ligne et travailler
|
|
localement. Dans ce cas, vous devez installer un serveur web comme
|
|
<link linkend="install.apache">Apache</link>, et bien sur
|
|
<ulink url="&url.php.downloads;">&php;</ulink>. Vous souhaiterez
|
|
aussi installer une base de données comme
|
|
<ulink url="&url.mysql.docs;">MySQL</ulink>.
|
|
</para>
|
|
<para>
|
|
Vous pouvez soit installer ces logiciels individuellement ou bien d'une manière simplifiée.
|
|
Notre manuel contient les <link linkend="install">instructions d'installation de &php;</link>
|
|
(en supposant que vous avez déjà un serveur web d'installer). Dans le cas où vous
|
|
rencontrez des problèmes dans l'installation de &php;, nous vous suggérons
|
|
de poser vos questions sur notre
|
|
<ulink url="&url.php.mailing-lists;">liste de diffusions</ulink> réservée à cette usage.
|
|
Si vous choisissez une version simplifiée, vous pouvez utiliser des
|
|
<ulink url="&url.installkits;">des installeurs</ulink>
|
|
qui prennent en charge l'ensemble de l'installation en quelques
|
|
clics. Il est facile de configurer un serveur web avec le support
|
|
de &php; sur n'importe quel système d'exploitation, y compris
|
|
MacOs, Linux et Windows. Sous Linux, vous pouvez aussi trouver
|
|
des commandes comme <ulink url="&url.rpmfind;">rpmfind</ulink> et
|
|
<ulink url="&url.rpmfind.pbone;">PBone</ulink>
|
|
très pratique pour rechercher les paquets pré-compilés.
|
|
Vous pouvez aussi visiter <ulink url="&url.apt-get;">apt-get</ulink>,
|
|
pour des paquets Debian.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="tutorial.firstpage">
|
|
<title>Votre première page &php;</title>
|
|
<para>
|
|
Créez un fichier appelé <filename>bonjour.php</filename> dans votre
|
|
dossier web racine (<varname>DOCUMENT_ROOT</varname>) avec le contenu suivant :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Notre premier script &php; : <filename>bonjour.php</filename></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<html>
|
|
<head>
|
|
<title>Test PHP</title>
|
|
</head>
|
|
<body>
|
|
<?php echo '<p>Bonjour le monde</p>'; ?>
|
|
</body>
|
|
</html>
|
|
]]>
|
|
</programlisting>
|
|
<simpara>
|
|
Utilisez votre navigateur pour accéder au fichier via votre serveur web,
|
|
en ajoutant le nom de fichier <literal>/bonjour.php</literal>. Si vous
|
|
développez localement,
|
|
votre URL ressemblera à <literal>http://localhost/bonjour.php</literal>
|
|
ou encore <literal>http://127.0.0.1/bonjour.php</literal> mais cela dépend
|
|
de la configuration de votre serveur web.
|
|
Si ceci est configuré correctement, le fichier sera analysé par &php; et
|
|
le résultat suivant sera affiché :
|
|
</simpara>
|
|
<para>
|
|
<screen role="html">
|
|
<![CDATA[
|
|
<html>
|
|
<head>
|
|
<title>Test PHP</title>
|
|
</head>
|
|
<body>
|
|
<p>Bonjour le monde</p>
|
|
</body>
|
|
</html>
|
|
]]>
|
|
</screen>
|
|
</para>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Ce programme est extrêmement simple et vous n'avez pas besoin de &php;
|
|
pour créer une page web comme ceci. Elle ne fait qu'afficher
|
|
<literal>Bonjour le monde</literal>, grâce à la fonction
|
|
<function>echo</function> de &php;. Notez que ce fichier
|
|
<emphasis>n'a pas besoin d'être exécutables</emphasis>
|
|
ou autres, dans aucun cas. Le serveur sait que ce fichier a besoin d'être interprété
|
|
par &php; car vous utilisez l'extension ".php", et le serveur est configuré pour
|
|
les passer à &php. Voyez celà comme une page HTML normale qui contient une série
|
|
de balises spéciales qui va vous permettre de réaliser beaucoup de choses intéressantes.
|
|
</para>
|
|
<para>
|
|
Si vous avez essayé cet exemple, et qu'il n'a rien affiché de spécial,
|
|
ou même qu'une boîte de dialogue a surgi pour vous proposer de le télécharger,
|
|
ou encore vous avez vu le code tel que nous l'avons écrit dans le
|
|
fichier, alors votre serveur web ne supporte probablement pas &php; ou est mal configuré.
|
|
Demandez à votre administrateur de l'activer pour vous, en utilisant
|
|
le chapitre <link linkend="installation">Installation</link>. Si vous développer localement,
|
|
lisez également le chapitre d'installation afin de vous assurer que tout est configuré correctement.
|
|
Assurez-vous que vous tentez d'accéder au fichier via http et que le serveur web vous fournie la
|
|
sortie. Si vous appelez votre fichier depuis votre gestionnaire de fichiers, il ne sera pas analyzé
|
|
par &php;. Si le problème persiste malgré celà, n'hésitez pas à utiliser une
|
|
<ulink url="&url.php.support;">des options de support</ulink> de &php;.
|
|
</para>
|
|
<para>
|
|
Le point important de cet exemple était de montrer le format des
|
|
balises spéciales &php;. Nous avons utilisé ici
|
|
<literal><?php</literal> pour indiquer le début de la balise &php;.
|
|
Puis, nous avons introduit les commandes &php; et refermé les balises
|
|
&php; avec <literal>?></literal>. Vous pouvez passer du mode &php;
|
|
au mode HTML et vice-versa, de cette manière, et à votre guise. Pour plus
|
|
d'informations, lisez la section du manuel sur la
|
|
<link linkend="language.basic-syntax">synthaxe basique de &php;</link>.
|
|
</para>
|
|
|
|
<note>
|
|
<title>Une note sur les éditeurs de texte</title>
|
|
<para>
|
|
Il existe de nombreux éditeurs de texte et environnements de
|
|
développement (IDE) que vous pouvez utiliser pour créer, éditer
|
|
et gérer vos applications &php;. Une liste partielle de ces outils
|
|
est entretenue à l'adresse
|
|
<ulink url="&url.phpeditorlist;"><literal>PHP Editor's List</literal></ulink>.
|
|
Si vous voulez recommander un éditeur particulier, rendez donc une visite
|
|
à cette page, et demandez au webmestre d'ajouter votre éditeur. Avoir au minimum
|
|
un éditeur de texte avec la coloration synthaxique est vivement recommandé.
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<title>Une note sur les traitements de texte</title>
|
|
<para>
|
|
Les traitements de texte tels que StarOffice Writer, Microsoft Word et
|
|
Abiword sont de très mauvais choix pour éditer des scripts &php;.
|
|
Si vous voulez utiliser l'un d'entre eux, malgré tout, pour tester vos
|
|
scripts, vous devez vous assurer que vous sauvez les fichiers au format
|
|
texte seul (<emphasis>plain text</emphasis>) : sinon, &php; ne sera pas capable de lire
|
|
et d'exécuter ces scripts.
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<title>Une note sur le Notepad de Windows</title>
|
|
<para>
|
|
Si vous écrivez vos scripts &php; avec Windows Notepad, vous devez
|
|
vous assurer que vos fichiers sont sauvés avec l'extension
|
|
<filename>.php</filename>
|
|
(Notepad ajoute automatiquement une extension <filename>.txt</filename>
|
|
à vos fichiers, à moins que vous ne preniez l'une des mesures suivantes).
|
|
Lorsque vous sauvez un fichier, et que vous êtes invité à lui donner
|
|
un nom, placez le nom du fichier entre doubles guillemets
|
|
(i.e. "<literal>hello.php</literal>").
|
|
Vous pouvez également cliquer dans le menu 'Documents texte' du dialogue
|
|
de sauvegarde, et choisir l'option 'Tous les fichiers'. Vous pourrez alors saisir
|
|
le nom de votre fichier sans les doubles guillemets.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
Maintenant vous avez créé un script &php; fonctionnant, c'est le moment
|
|
de créer le meilleur script &php; ! Faîtes un appel à la fonction
|
|
<function>phpinfo</function> et vous verrez beaucoup d'informations
|
|
intéressantes sur votre système et sa configuration comme les
|
|
<link
|
|
linkend="language.variables.predefined">variables prédéfinies disponibles</link>,
|
|
les modules &php; chargés ainsi que la <link linkend="configuration">configuration</link>.
|
|
Prenez du temps pour revoir ces informations importantes.
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Récupération des informations du système depuis &php;</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php phpinfo(); ?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="tutorial.useful">
|
|
<title>Trucs pratiques</title>
|
|
<para>
|
|
Réalisons maintenant quelque chose de plus puissant. Nous allons
|
|
vérifier le type de navigateur que le visiteur de notre site utilise.
|
|
Pour cela, nous allons accéder aux informations que le navigateur
|
|
du visiteur nous envoie, lors de sa requête HTTP. Cette information
|
|
est stockée dans une <link linkend="language.variables">variable</link>.
|
|
Les variables sont faciles à repérer, car elles commencent toutes par
|
|
un signe dollar. La variable qui nous interesse ici est
|
|
<varname>$_SERVER['HTTP_USER_AGENT']</varname>.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
<link linkend="reserved.variables.server">$_SERVER</link> est une
|
|
variable spéciale de &php;, qui contient toutes les informations
|
|
relatives au serveur web. C'est une variable réservée de &php;,
|
|
et une auto-globale. Reportez-vous aux pages du manuel traitant des
|
|
<link linkend="language.variables.superglobals">Auto-globales</link>
|
|
(aussi connues sous le nom de super-globales). Ces
|
|
variables spéciales ont été introduites en
|
|
<ulink url="&url.php.release4.1.0;">&php; 4.1.0</ulink>. Auparavant,
|
|
il fallait utiliser les variables <varname>$HTTP_*_VARS</varname>, comme
|
|
<varname>$HTTP_SERVER_VARS</varname>. Bien qu'obsolètes, ces
|
|
variables existent toujours. (Voir aussi la note sur
|
|
<link linkend="tutorial.oldcode">l'ancien code</link>.)
|
|
</para>
|
|
</note>
|
|
<para>
|
|
Pour afficher cette variable, nous pouvons simplement faire :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Afficher le contenu d'une variable (élément de tableau)</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php echo $_SERVER['HTTP_USER_AGENT']; ?>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Un résultat possible du script pourra alors être :
|
|
</para>
|
|
<screen role="html">
|
|
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Il y a de nombreux <link linkend="language.types">types</link> de
|
|
variables disponibles en &php;. Dans l'exemple ci-dessus, nous avons affiché
|
|
un élément de <link linkend="language.types.array">Tableau (Array)</link>.
|
|
Les tableaux peuvent être très utiles.
|
|
</para>
|
|
<para>
|
|
<varname>$_SERVER</varname> est juste une variable qui est automatiquement
|
|
disponible dans votre script. Une liste de toutes les variables qui sont
|
|
rendues disponibles est fournie dans la section
|
|
<link linkend="reserved.variables">Variables réservées</link> ou vous
|
|
pouvez aussi en obtenir une liste complète en lisant l'affichage de la fonction
|
|
<function>phpinfo</function> utilisée dans l'exemple de la section précédente.
|
|
</para>
|
|
<para>
|
|
Vous pouvez ajouter plusieurs commandes &php; dans une balise &php;, et créer
|
|
de petits blocs de code qui réalisent des opérations plus complexes
|
|
qu'un simple affichage. Par exemple, si nous voulons vérifier que le
|
|
navigateur est bien de la famille des Internet Explorer, nous pouvons
|
|
faire cela :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Exemple utilisant les
|
|
<link linkend="language.control-structures">structures de contrôle</link> et
|
|
les <link linkend="language.functions">fonctions</link></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
|
|
echo 'Vous utilisez Internet Explorer<br />';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Le résultat de ce script, si vous utilisez Internet Explorer, sera :
|
|
</para>
|
|
<screen role="html">
|
|
<![CDATA[
|
|
Vous utilisez Internet Explorer<br />
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Ici, nous introduisons plusieurs nouveaux concepts. Nous avons une
|
|
structure <link linkend="control-structures.if">if</link>.
|
|
Si vous êtes familier avec les syntaxes de base du langage C, cela
|
|
ne vous surprendra pas. Si vous ne connaissez pas assez le langage C ou
|
|
un autre langage où la syntaxe est similaire à celle ci-dessus, il
|
|
vaudrait mieux que vous lisiez une introduction à &php;, et assimiliez
|
|
les premiers chapitres, ou bien lisez le chapitre consacré à
|
|
<link linkend="langref">la référence du langage</link>. Vous pouvez trouver
|
|
une liste de livres &php; à <ulink url="&url.php.books;">&url.php.books;</ulink>.
|
|
</para>
|
|
<para>
|
|
Le second concept que nous avons introduit est la fonction <function>strpos</function>.
|
|
<function>strpos</function> est une fonction intégrée à &php;, qui recherche
|
|
la présence d'une chaîne dans une autre. Dans notre cas, nous
|
|
avons recherché la chaîne <literal>"MSIE"</literal> dans la chaîne
|
|
<varname>$_SERVER['HTTP_USER_AGENT']</varname>. Si cette
|
|
chaîne est trouvée, la fonction retourne sa position dans la chaîne et sinon, &false;.
|
|
Si elle ne retourne pas &false;, la structure <link linkend="control-structures.if">if</link>
|
|
reçoit &true; et le code entre accolades {} est exécuté. Sinon, le code n'est pas
|
|
exécuté. N'hésitez pas à
|
|
expérimenter d'autres exemples, à l'aide de
|
|
<link linkend="control-structures.if">if</link>,
|
|
<link linkend="control-structures.else">else</link>, et d'autres
|
|
fonctions comme <function>strtoupper</function> et
|
|
<function>strlen</function>. Chaque page de la documentation contient aussi
|
|
des exemples. Si vous n'êtes pas sûr de l'utilisation de ces fonctions, vous devez lire
|
|
la page du manuel
|
|
"<link linkend="about.prototypes">comment lire une définition de fonction</link>"
|
|
ainsi que la <link linkend="language.functions">section sur les fonctions &php;</link>.
|
|
</para>
|
|
<para>
|
|
Nous pouvons maintenant progresser et vous montrer comment utiliser le mode &php;,
|
|
au milieu du code HTML :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Passer du mode &php; au mode HTML et vice-versa</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
|
|
?>
|
|
<h3>strpos() n'a pas retourné FALSE</h3>
|
|
<p>Vous utilisez Internet Explorer</p>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<h3>strpos() a retourné FALSE</h3>
|
|
<p>Vous n'utilisez pas Internet Explorer</p>
|
|
<?php
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Un exemple de résultat obtenu dans ce script est :
|
|
</para>
|
|
<screen role="html">
|
|
<![CDATA[
|
|
<h3>strpos() n'a pas retourné FALSE</h3>
|
|
<p>Vous utilisez Internet Explorer</p>
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Au lieu d'utiliser une commande <function>echo</function>, pour afficher
|
|
du texte, vous pouvez utiliser du code HTML pur. Le point important a noter
|
|
ici et que la logique de programmation est conservée. Seul un des deux
|
|
blocs HTML sera affiché, suivant le résultat de la fonction <function>strpos</function>.
|
|
En d'autres termes, celà dépend si la chaîne <literal>MSIE</literal>
|
|
a été trouvée ou non.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="tutorial.forms">
|
|
<title>Utiliser un formulaire</title>
|
|
<para>
|
|
L'un des points forts de &php; est sa capacité à gérer les formulaires.
|
|
Le concept de base qui est important à comprendre est que tous les
|
|
champs d'un formulaire seront automatiquement disponibles dans le
|
|
script &php; d'action. Lisez le chapitre du manuel concernant les
|
|
<link linkend="language.variables.external">variables d'origine externe à &php;</link>
|
|
pour plus d'informations et d'exemples sur comment utiliser les
|
|
formulaires. Voici un exemple de formulaire HTML :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Un simple formulaire HTML</title>
|
|
<programlisting role="html">
|
|
<![CDATA[
|
|
<form action="action.php" method="post">
|
|
<p>Votre nom : <input type="text" name="nom" /></p>
|
|
<p>Votre age : <input type="text" name="age" /></p>
|
|
<p><input type="submit" value="OK"></p>
|
|
</form>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Il n'y rien de particulier dans ce formulaire. Il est en HTML
|
|
pur, sans aucune configuration particulière. Lorsque le visiteur
|
|
remplit le formulaire, et clique sur le bouton OK, le
|
|
fichier <filename>action.php</filename> est appelé. Dans ce
|
|
fichier, vous pouvez écrire le script suivant :
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Afficher des données issues d'un formulaire</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
Bonjour, <?php echo $_POST['nom']; ?>.
|
|
Tu as <?php echo $_POST['age']; ?> ans.
|
|
]]>
|
|
</programlisting>
|
|
<para>
|
|
Voici le résultat que vous pourriez obtenir, selon
|
|
les valeurs que vous avez saisies :
|
|
</para>
|
|
<screen role="html">
|
|
<![CDATA[
|
|
Bonjour Jean.
|
|
Tu as 29 ans.
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Le fonctionnement du script devrait être évident. Il n'y a rien de plus
|
|
simple. Les variables <varname>$_POST['nom']</varname> et
|
|
<varname>$_POST['age']</varname> sont automatiquement créés par &php;.
|
|
Un peu plus tôt dans ce tutorial, nous avons utilisé la variable
|
|
<varname>$_SERVER</varname>, une auto-globale. Maintenant, nous avons
|
|
introduit une autre auto-globale <link linkend="reserved.variables.post">$_POST</link>
|
|
qui contient toutes les données envoyées par la méthode
|
|
<emphasis>POST</emphasis>. Notez que
|
|
dans notre formulaire, nous avons choisi la méthode <emphasis>POST</emphasis>.
|
|
Si vous avions utilisé la méthode
|
|
<emphasis>GET</emphasis> alors notre formulaire aurait placé ses informations
|
|
dans la variable <link linkend="reserved.variables.get">$_GET</link>,
|
|
une autre auto-globale. Vous pouvez aussi utiliser la variable
|
|
<link linkend="reserved.variables.request">$_REQUEST</link>, si vous
|
|
ne souhaitez pas vous embarrasser de la méthode utilisée. Elle contient
|
|
un mélange des données de GET, POST, COOKIE et FILE. Voyez aussi la fonction
|
|
<function>import_request_variables</function>.
|
|
</para>
|
|
<para>
|
|
Vous pouvez également utiliser champs XForms dans &php;, même si vous vous
|
|
sentez bien dans l'utilisation des formulaires HTML.
|
|
Bien que le travail avec XForms ne soit pas fait pour les débutants, vous pourriez être
|
|
intéressé par cette technologie. Nous avons également une
|
|
<link linkend="features.xforms">courte introduction sur le traitement des données
|
|
reçues par XForms</link> dans notre section sur les fonctionnalité.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="tutorial.oldcode">
|
|
<title>Utiliser des codes anciens avec les nouvelles versions de &php;</title>
|
|
<para>
|
|
Maintenant que &php; est devenu un langage de script populaire, il
|
|
existe de nombreuses ressources qui vous proposent des portions de
|
|
code que vous pouvez réutiliser dans vos codes. Pour la plupart,
|
|
les développeurs de &php; ont tâché d'assurer la compatibilité
|
|
ascendante, ce qui fait que de nombreux scripts écrits pour les
|
|
anciennes versions sont aussi valables pour les nouvelles versions
|
|
de &php;, idéalement sans modifications. En pratique, certaines
|
|
modifications doivent être apportées.
|
|
</para>
|
|
<para>
|
|
Les deux modifications récentes les plus importantes qui affectent les anciens
|
|
codes sont :
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Les anciennes variables <varname>$HTTP_*_VARS</varname>
|
|
(qui devaient être indiquées comme globales pour être utilisées dans une fonction
|
|
ou une méthode) sont obsolètes. Les nouveaux
|
|
<link linkend="language.variables.superglobals">tableaux auto-globaux</link>
|
|
ont été introduits en
|
|
<ulink url="&url.php.release4.1.0;">&php; 4.1.0</ulink>. Ce sont les variables suivantes :
|
|
<varname>$_GET</varname>, <varname>$_POST</varname>,
|
|
<varname>$_FILES</varname>, <varname>$_COOKIE</varname>,
|
|
<varname>$_SERVER</varname>, <varname>$_ENV</varname>,
|
|
<varname>$_REQUEST</varname> et <varname>$_SESSION</varname>.
|
|
Les vieux tableaux <varname>$HTTP_*_VARS</varname>,
|
|
tels que <varname>$HTTP_POST_VARS</varname> existent toujours depuis
|
|
&php; 3.
|
|
&avail.register-long-arrays;
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Les variables externes ne sont plus enregistrées dans l'environnement
|
|
par défaut. En d'autres termes, depuis &php;
|
|
<ulink url="&url.php.release4.2.0;">4.2.0</ulink>, la directive
|
|
&php; <link linkend="ini.register-globals">register_globals</link> vaut
|
|
<emphasis>off</emphasis> par défaut dans le &php.ini;. La méthode recommandée
|
|
pour accéder à ces valeurs, est via les tableaux auto-globaux mentionnés
|
|
ci-dessus. Les anciens scripts, livres et tutoriaux continuent de
|
|
considérer que cette directive devrait être à <literal>on</literal>. Lorsque
|
|
cette directive est à <literal>on</literal>, vous pouvez utiliser la variable
|
|
<varname>$id</varname>, si l'URL
|
|
<literal>http://www.example.com/foo.php?id=42</literal>
|
|
a été appelée. Quelle que soit la valeur de la directive,
|
|
<varname>$_GET['id']</varname> est toujours disponible.
|
|
</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
Pour plus de détails sur ces modifications, reportez-vous à la section sur les
|
|
<link linkend="language.variables.predefined">variables prédéfinies</link>.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="tutorial.whatsnext">
|
|
<title>Et après?</title>
|
|
<para>
|
|
Avec ce que vous savez, vous êtes maintenant capable de comprendre
|
|
l'essentiel de la documentation &php;, et les différents scripts d'exemples
|
|
disponibles dans les archives. Vous pouvez aussi trouver d'autres exemples
|
|
dans la section liens ("links", en anglais) du site
|
|
<ulink url="&url.php.links;">&url.php.links;</ulink>.
|
|
</para>
|
|
<para>
|
|
Différentes présentations des capacités de &php; sont disponibles sur le
|
|
site des conférences &php; : <ulink url="&url.php.conf;">&url.php.conf;</ulink>
|
|
et <ulink url="&url.php.talks;">&url.php.talks;</ulink>.
|
|
</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:"../../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
|
|
-->
|
|
|