IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ PHP

FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 18 septembre 2021 

 
OuvrirSommaireGénéralitésSyntaxe

Le but premier d'un script PHP étant de générer des pages HTML, il faut pouvoir afficher des chaînes de caractères à incruster aux dites pages.

Pour cela il existe des structures du langage PHP que l'on peut utiliser comme des fonctions, même si rigoureusement parlant, elles n'en sont pas : echo et print.

Exemples :

 
Sélectionnez
echo($machaine);
echo("bonjour");
echo('bonjour');
echo $machaine;
echo "bonjour";
echo 'bonjour';

On le voit, sa syntaxe est très souple, on peut l'utiliser comme une fonction en passant une chaîne de caractères entre parenthèses ou bien l'utiliser plus brutalement en "oubliant" ces mêmes parenthèses.

Il existe une syntaxe offrant un raccourci très utile vers echo :

 
Sélectionnez
Votre nom est <?=$name?>...

Il est tout aussi possible de passer plusieurs paramètres en argument à echo mais alors sans parenthèses impérativement.

Exemples :

 
Sélectionnez
echo "bonjour ", $user_name , '<br>';

print s'utilise exactement comme echo à la différence que print retourne un booléen TRUE ou FALSE selon que l'affichage s'est bien passé ou non.

A noter que les chaînes de caractères ainsi passées à echo et à print peuvent s'étaler sur plusieurs lignes :

 
Sélectionnez
echo "<table bgcolor=$color>
        <tr>
            <td>bonjour</td>
        </tr>
    </table>";

D'ailleurs, pour simplifier l'affichage d'une longue chaîne s'étalant sur plusieurs lignes, il existe une syntaxe spéciale appelée Here-Doc :

 
Sélectionnez
echo <<<EOD
    Voici une longue 
    "chaîne de caractères"
    sur $nbr lignes !
EOD;

Cette syntaxe consiste à délimiter la chaîne non plus par des simples ' ' ou doubles quotes " ", mais par un mot clé à votre convenance préfixé par trois symboles mathématiques inférieur <. Cette syntaxe est intéressante car elle évalue la chaîne comme le font les doubles quotes, mais il n'est plus nécessaire de déspécialiser les doubles quotes incluses dans la chaîne. A noter que le mot clé de délimitation de la fin de chaîne doit impérativement débuter sur une nouvelle ligne.

La seule différence entre echo et print, c'est que print retourne une valeur contrairement à echo.

N'oublions pas d'indiquer que printf() est la fonction du C transposée au PHP permettant le formatage des chaînes avant affichage.

Mis à jour le 6 août 2008  par Cyberzoide

Il est très important de commenter fortement ses scripts. D'abord parce qu'il est rare qu'on se souvienne du détail du fonctionnement de ses propres scripts 15 jours après les avoir écrits. Et ensuite, cela est indispensable en cas de développement en commun. Si vous avez déjà téléchargé des scripts sur le Net, vous avez du pester contre les auteurs qui ne commentent pas.

Il existe trois syntaxes issues du C et du Shell :

 
Sélectionnez
# commentaire sur une ligne
/* commentaire
sur plusieurs
lignes*/
// commentaire sur une ligne

Tous ce qui est en commentaire dans le code source PHP ne sera pas interprété par le serveur.

Il est important de ne pas imbriquer les commentaires sur plusieurs lignes !

De plus les commentaires avec # et // peuvent ne porter que sur une fin de ligne :

 
Sélectionnez
$id = get_user_id($_GET['login']); // extraction id de l'utilisateur

Quand aux commentaires avec /* */, ils peuvent ne porter que sur une fraction d'une ligne, en plein milieu du code :

 
Sélectionnez
echo $start, " ", /* get_phrase($id,'fr'),*/ " ", $user, "<br>\n";

Les commentaires peuvent être des phrases en français ou bien des portions de code PHP qu'il faut "taire". Par exemple, il est souvent utile lors du développement d'afficher les valeurs de certains paramètres pour contrèler que tout se passe comme prévu. Ces "traces" devront être commentées ou supprimées lors de la livraison de la version finale du script.

De plus il existe une norme pour commenter ses scripts issue du JavaDoc. Exemple :

 
Sélectionnez
/*** Extraction nom utilisateur
* @param $id id de l'utilisateur
* @return nom complet de l'utilisateur
*/
function get_user_name($id) {
    global $USERS; # importation tableau des utilisateurs
    // on ne retourne que le champs 'name'
    return $USERS["$id"]['name'];
}

Plus d'infos sur les normes de commentaire : sur Wikipedia

Mis à jour le 6 août 2008  par Cyberzoide

L'opérateur point ( . ) (équivalent du + du Java) permet de concaténer deux chaînes de caractères. Au besoin, PHP procède au cast implicite des variables non chaînes de caractères.

Syntaxe :

 
Sélectionnez
$chaine = $chaine . $str;
$chaine .= $str;

Ces deux syntaxes sont équivalentes.

Exemples :

 
Sélectionnez
echo "Bonjour ".$nom;
$str .= $toto;
$adresse = $num.$rue.$cp.$ville;
Mis à jour le 6 août 2008  par Cyberzoide

1. Si on connait le nombre exact de tours : Pour aller de $debut à $fin par pas de $pas.

 
Sélectionnez
for ($i = $debut; $i <= $fin; $i += $pas) {...}

La structure for comporte 3 instructions : initialisation ($i = $debut), condition de continuation ($i <= $fin), manière d'incrémenter le compteur ($i += $pas).

Par pas de 1 :

 
Sélectionnez
for ($i = $debut; $i <= $fin; $i++) {...}

Exemple : 10 tours

 
Sélectionnez
for ($i = 1; $i <= 10; $i++) {...}

Boucle infinie :

 
Sélectionnez
for (;;) {...}

2. Boucle tant qu'une condition est vérifiée

2.1 Au moins un tour obligatoire

 
Sélectionnez
do {...} while (condition)

Exemple:

 
Sélectionnez
do {...} while ($toto != 'foobar')

2.2 Peut ne jamais entrer dans la boucle

 
Sélectionnez
while (condition) {...}
Mis à jour le 6 août 2008  par Cyberzoide

Il faut bien comprendre que PHP est un langage exécuté sur un serveur Web et qui permet généralement de produire des pages Web. Ces pages peuvent éventuellement contenir du code JavaScript, mais cet autre langage (JS) n'a aucune signification pour PHP. Tout ce qui n'est pas exécuté sur le serveur (JavaScript en fait partie) est considéré comme chaîne de caractères par PHP. À ce titre, divers moyens peuvent être utilisés pour afficher du JavaScript à l'aide d'un script PHP :

 
Sélectionnez
<html>
<head><title>Comment mettre du JavaScript dans un script PHP</title></head>
<body>
 <?php
  echo '<script type="text/javascript" language="javascript">alert("méthode #1");</script>';
 ?>
 <script type="text/javascript" language="javascript">alert("méthode #2");</script>
</body>
</html>
Créé le 8 août 2006  par Guillaume Rossolini

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.