Alain Barraud Mémento informatique  
 
Accueil Logithèque - SE Photo - vidéo Internet - protocoles Site Web PC - Réseau Archives
Page ouverte le 14/03/2010
retour sommaire PHP
Logo PHP
Partie 6 : Condensé PHP : Codage, instructions, variables

Sommaire

Codage

Le PHP sert à générer du code XHTML au niveau du serveur.
Le code PHP s'insère au milieu du code XHTML à l'aide d'une balise PHP.
Forme d'une balise PHP : <?php /* on écrit son PHP ici */ ?>
Le code d'une page web peut contenir une ou plusieurs balises PHP.
Ces balises peuvent être n'importe où dans le code, y compris dans l'en-tête ou dans une balise XHTML.

Une page PHP doit avoir l'extension ".php" pour que le serveur sache qu'il doit générer du code XHTML sinon le code PHP sera affiché sans servir à générer du code XHTML.

Commentaires
Deux types de commentaires :
Code PHP commentaires monolignes suivant l'endroit avec // …
        <?php
        echo "une instruction en PHP."; // commentaire de cette instruction
       
        // commentaire de l'instruction ci-dessous
        echo "une autre instruction en PHP.";
        ?>
Code PHP commentaire multiligne avec /* … */
        <?php
        /* commentaire pour mon instruction PHP
        sur plusieurs lignes…
        …, j'ai dit plusieurs lignes */

        echo "une instruction en PHP.";
        ?>

Les instructions

Le PHP est un langage de programmation (contrairement au HTML qui est du codage). Tout langage de programmation contient des instructions.
On en écrit, en général, une par ligne et, elles se terminent toutes par un point-virgule. Une instruction commande à l'ordinateur d'effectuer une action précise.

L'instruction echo
L'instruction echo permet d'insérer du texte dans la page web (c'est la plus simple et basique). Elle permet d'afficher :

Du texte
Code PHP
<?php echo "Ceci est du texte"; ?>
Des balises :
Code PHP
<?php echo "Ceci est du <strong>texte</strong>"; ?>
Le mot "texte" sera affiché en gras.

Le texte à afficher doit être délimité par des guillemets.

question Comment faire pour afficher des guillemets ?
Il faut les faire précéder avec un antislash : \. On dit les "échapper". Exemple :
Code PHP
    <?php echo "Ceci est \"uniquement\" en PHP."; ?>
alt Il existe une instruction identique à echo, appelée print, qui fait la même chose. Cependant echo est plus couramment utilisé.
Utiliser du PHP avec l'instruction echo pour afficher du texte simplement comme ci-dessus ne présente guère d'intérêt. Par contre, si ce texte dépend d'une variable…
On verra que si l'instruction echo a comme argument uniquement une variable, on ne mettra pas de guillemets. ex. : <?php echo $a; ?> (à valider !)

L'instruction include
L'instruction include permet d'insérer une autre page dans la page web en cours.
C'est particulièrement intéressant pour portions de codes répétitives comme des en-têtes, des menus, etc…

Exemple, créons un fichier PHP pour y insérer uniquement le code HTML suivant correspondant au menu :
Code PHP
<div id="menu">
    <div class="element_menu">
        <h3>Titre menu</h3>
        <ul>
            <li><a href="page1.html">Lien</a></li>
            <li><a href="page2.html">Lien</a></li>
            <li><a href="page3.html">Lien</a></li>
        </ul>
    </div>
</div>
alt Ces pages ne contenant qu'une partie de code HTML sans les traditionnels <head>, <body>, etc… pourraient être enregistrées en ".html", mais dans la pratique mieux vaut ne travailler qu'avec des pages ".php".

Dans la page web où on aura besoin de ce menu, il suffira s'insérer le code suivant :
Code PHP
<?php include("menu.php"); ?>
Ce code suppose que la page dans laquelle on inclut ce code et le fichier "menu.php" soit dans le même dossier. Si par exemple "menu.php" avait été dans un dossier appelé "includes", il aurait fallu écrire : <?php include("includes/menu.php"); ?> (comme on le fait en XHTML).
Comme toute instruction, l'argument dont elle a besoin se trouve entre parenthèses. Comme cet argument est du texte, on le place entre des guillemets doubles ( " ) ou simples ( ' ).
alt echo à une structure de langage particulière qui fait qu'il est utilisé sans parenthèses.

Les variables

Une variable est une information stockée en mémoire temporairement. On les crée quand on a besoin pour retenir une information.

Syntaxe d'une variable
Code PHP
<?php $nom_de_la_variable = valeur; ?>

Dans l'ordre, on a :
  • $ : le signe dollar précède toujours le nom d'une variable.
  • nom_de_la_variable : permet de l'identifier. On ne met pas d'espace dans le nom d'une variable. On utilise underscore _.
  • = : le signe "=" permet d'affecter une valeur à la variable.
  • valeur : la valeur de la variable.
  • ; : le point-virgule obligatoire.

Les différents types de variables
Les variables stockent plusieurs types d'informations. On parle de types de données. Les principaux types à connaître :
  • Les chaînes de caractères (string) : les chaînes de caractères sont le nom informatique donné au texte. Tout texte est appelé chaînes de caractères. En PHP, on appelle ce type de données "string".
    Une chaîne de caractères est délimitée par des guillemets ou des apostrophes (on parle de guillemets simples).
  • Les nombres entiers (int) : nombre du type 1, 2, 3,…, 30, 31,… mais aussi des relatifs comme -1, -2, -3,…
  • Les nombres décimaux (float) : ce sont les nombres à virgule. Attention, la virgule est écrite avec un point (notation anglaise).
  • Les booléens (bool) : type important qui permet de stocker soit vrai soit faux. Cela permet de retenir si une information est vrai ou fausse. Utilisation fréquente (true por vrai, false pour faux).
  • Rien (NULL) : on a parfois besoin de dire qu'une variable ne contient rien. Il s'agit d'absence de type de données.
Utiliser les types de données
Le type string (chaîne de caractères)
Code PHP
<?php
$variable = "alain";
$variable = 'Je m\'appelle alain';
$variable = 'Mon "nom" est alain';
?>
A savoir :
- Permet de stocker du texte. Texte qu'on doit entourer de guillemets doubles ou simples.
- Si on veut insérer un guillemet simple alors que le texte est entouré de guillemets simples, il faut l'échapper avec un antislash.
- De même avec les guillemets doubles.
- On peut en revanche sans problème insérer des guillemets simples au milieu de guillemets doubles et inversement.

Le type int (nombre entier)
Code PHP
<?php
$age_du_visiteur = 17;
?>
Il suffit d'écrire le nombre qu'on veut stocker, sans guillemets.

Le type float (nombre décimal)
Code PHP
<?php
$poids = 57.3;
?>
Idem que précédent et écrire la virgule avec un point (notation anglaise).

Le type bool (booléen)
Code PHP
<?php
$je_suis_un_zero = true;
$je_suis_bon_en_PHP = false;
?>
Pour dire si une variable vaut vrai ou faux, on doit écrire true ou false sans les guillemets autour (ce n'est pas une chaîne de caractères!). Bien choisir le nom de la variable pour bien comprendre la signification.

Une variable vide avec NULL
Code PHP
<?php
$pas_de_valeur = null;
?>
Pour créer une variable qui ne contient rien, on doit lui passer le mot clé NULL (on peut aussi l'écrire en minuscules null)

Afficher et concaténer des variables

Afficher le contenu d'une variable
Code PHP
    <?php
    $age_du_visiteur = 17;
    echo $age_du_visiteur;
    ?>
On peut afficher le contenu d'une variable avec echo.
Il suffit d'écrire le nom de la variable que l'on veut afficher. On ne met pas de guillemets quand il s'agit d'une variable.

La concaténation
Signfie assemblage. Mélanger du texte et des variables (et aussi des balises HTML).

Plusieurs méthodes pour un même résultat, mais une est à privilégier. Aperçu par l'exemple :

Plusieurs instructions echo
Code PHP
<?php
$age_du_visiteur = 17;
echo "Le visiteur a ";
echo $age_du_visiteur;
echo " ans";
?>
Si on teste, ça marche.
Mais, on va voir, il y a plus malin.

Concaténer avec des guillemets doubles
Code PHP
<?php
$age_du_visiteur = 17;
echo "Le visiteur a $age_du_visiteur ans";
?>
Avec des guillemets doubles, c'est plus simple. On peut écrire le nom de la variable au milieu du texte et elle sera remplacée par sa valeur
Lorsqu'on utilise des guillemets doubles, les variables qui se trouvent à l'intérieur sont analysées et remplacées par leur vraie valeur.

Concaténer avec des guillemets simples
Code PHP
<?php
$age_du_visiteur = 17;
echo ´Le visiteur a $age_du_visiteur ans´;
?>
Ne marche pas. Ça affiche "Le visiteur a $age_du_visiteur ans"

Code PHP
<?php
$age_du_visiteur = 17;
echo ´Le visiteur a ´ . $age_du_visiteur . ´ ans´;
?>
Pour que ça fonctionne, il faut écrire la variable en dehors des guillemets et séparer les éléments entre eux avec un point.
Bien qu'en apparence plus compliquée, c'est cette méthode qu'emploie les programmeurs.
En effet, le code est plus lisible car on repère mieux les variables qui ne sont pas noyées mais séparées.
alt En plus cette méthode est un chouilla plus rapide

Faire des calculs simples

Avec des variables contenant des nombres.
Opérations de base : addition, soustraction…
Les signes pour les 4 opérations de base sont ceux du pavé numérique du clavier : +, -, *, /
Exemple :
Code PHP
<?php
$nombre = 2 + 4; // $nombre prend la valeur 6
$nombre = 5 - 1; // $nombre prend la valeur 4
$nombre = 3 * 5; // $nombre prend la valeur 15
$nombre = 10 / 2; // $nombre prend la valeur 5

// on rajoute un peu de difficulté
$nombre = 3 * 5 + 1; // $nombre prend la valeur 16
$nombre = (1 + 2) * 2; // $nombre prend la valeur 6
?>

Calculs avec plusieurs variables :
Code PHP
<?php
$nombre = 10;
$resultat = ($nombre + 5) * $nombre; // $resultat prend la valeur 150
?>

Le modulo
C'est le reste de la division entière. Il permet de récupérer ce "reste". On utilise le symbole %
Code PHP
<?php
$nombre = 10 % 5; // $nombre prend la valeur 0 car la division tombe juste
$nombre = 10 % 3; // $nombre prend la valeur 1 car il reste 1
?>

Les autres opérations
Racine carrée, exponentielle, factorielle, etc. Toutes ces opérations sont réalisables en PHP, mais en passant par des fonctions. Pour plus tard…