Le langage PHP
Afficher du texte

Le but de PHP est de permettre la création de pages Web dynamiques, ainsi son but premier est de pouvoir envoyer des données au navigateur.

PHP fournit 3 fonctions permettant d'envoyer du texte au navigateur. Ces fonctions ont la particularité de pouvoir insérer dans les données envoyées des valeurs variables, pouvant être fonction d'une valeur récupérée par exemple par l'exécution d'un script ou après consultation d'une base de données. C'est ce qui rend possible la création de pages dynamiques. Les 3 fonctions sont les suivantes :
o echo
o print
o printf


 

La fonction echo()

La fonction echo permet d'envoyer au navigateur la chaîne de caractères (délimitée par des guillemets) qui la suit. La syntaxe de cette fonction est la suivante :

echo Expression;

L'expression peut être une chaîne de caractères ou une expression que l'interpréteur évalue

echo "Chaîne de caractères";
echo (1+2)*87;


Ainsi, étant donné que la chaîne de caractères est délimitée par des guillemets, l'insertion de guillemets doubles dans la chaîne provoquerait une erreur. C'est la raison pour laquelle les guillemets doubles, ainsi que tous les caractères spéciaux, doivent être précédés d'un backslash. Voici un récapitulatif des caractères spéciaux nécessitant l'ajout d'un backslash :

Caractère

Description

\"

guillemet

\$

caractère $

\\

barre oblique inverse (backslash)

\r

retour chariot

\n

retour à la ligne

\t

tabulation

Le caractère $ a un rôle particulier dans la mesure où l'interpréteur le comprend comme une variable, ce qui signifie que lorsque le caractère $ est rencontré dans la chaîne qui suit la fonction echo, l'interpréteur récupère le nom de la variable qui suit le caractère $ et le remplace par sa valeur. Dans l'exemple suivant par exemple, on assigne la date actuelle à une variable appelée $madate, puis on l'affiche sur le navigateur:

<html>
<head>
<title>Affichage de l'heure</title>
<body>
<?php
// Récupération de la date
// et stockage dans une variable
$MaDate = date("Y");
echo "<HTML>";
echo "Nous sommes en $madate";
?>
</body>
<html>


 

La fonction print()

La fonction print est similaire à la fonction echo à la différence que l'expression à afficher est entre parenthèses. La syntaxe de la fonction print est la suivante :

print(expression);

L'expression peut, comme pour la fonction echo, être une chaîne de caractères ou une expression que l'interpréteur évalue :

print("chaîne de caractères");
print ((1+2)*87);


 

La fonction printf()

La fonction printf (empruntée au langage C) est rarement utilisée car sa syntaxe est plus complexe. Toutefois, contrairement aux deux fonctions précédentes, elle permet un formatage des données. Ce qui signifie que l'on peut choisir le format dans lequel une variable sera affichée à l'écran.

La syntaxe de printf est la suivante:

printf (chaîne formatée);

Une chaîne formatée est une chaîne contenant des codes spéciaux permettant de repérer l'emplacement d'une valeur à insérer et de son format (sa représentation). A chaque code rencontré doit être associé une valeur ou une variable que l'on retrouve en paramètre à la fin de la fonction printf. Les valeurs à insérer dans la chaîne formatée sont séparées par des virgules et doivent apparaître dans l'ordre où les codes apparaissent dans la chaîne formatée.

Les codes de formatage des types de données sont les suivants :

Code

Type de format

%b

Entier en notation binaire

%c

Caractère codé par son code ASCII

%d

Entier en notation décimale

%e

Type double (nombre à virgule) au format scientifique (1.76e+3)

%f

Type double (nombre à virgule)

%o

Entier en notation octale

%s

Chaîne de caractères

%x

Entier en notation hexadécimale (lettres en minuscules)

%X

Entier en notation hexadécimale (lettres en majuscules)

%%

Caractère %

Imaginons que l'on définisse une variable en virgule flottante afin d'obtenir une précision de calcul plus grande qu'avec un entier mais qu'on désire l'afficher en tant qu'entier. Dans ce cas la fonction printf prend toute son importance :

<?php
$Pi = 3.1415927;
$R = 24.546;
$Perimetre = 2 * $Pi * $R;
printf ("Le périmètre du cercle est %d",$Perimetre);
?>


 

Afficher un tableau

On se servira une boucle pour afficher un tableau. On utilisera la fonction foreach(). Notons que cette fonction fait partie de PHP4. 

<?php
$tableau = array('lehtml.com','PHP4','MySQL');
foreach ( $tableau as $contenu ){
print $contenu.'<br>';
}
?>


 

L'implantation du code PHP au sein du code Html

Le code PHP peut être aisément implanté au sein du code Html. Cette caractéristique n'est pas à négliger car le fait d'écrire uniquement du code PHP là où il est nécessaire rend la programmation plus simple.

Il est en effet plus facile d'écrire du code Html que des fonctions echo ou print, dans lesquelles les caractères spéciaux doivent être précédés d'un backslash sous peine de voir des erreurs lors de l'exécution.

Un exemple parlant concerne les pages dynamiques dont l'en-tête est toujours le même. Dans ce cas, le code PHP peut ne commencer qu'à partir de la balise <body>, soit au moment où la page peut s'afficher différemment selon une variable par exemple.

Mieux, il est possible d'écrire plusieurs portions de script en PHP, séparées par du code Html statique car les variables ou fonctions déclarées dans une portion de script seront accessibles dans les portions de scripts inférieures.

Exemple :

<html>
<head>
<title>Exemple de PHP</title>
</head>
<body>
Partie de HTML normal.
<br><br>
<?php
echo "Partie de PHP<br>";    
for($i=0;$i<5;$i++)
{
echo "Ligne ".$i."<br>";
}
?>
</body>
</html>