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, c'est ce qui rend possible la création de pages dynamiques. Les 3 fonctions
sont les suivantes:
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 "Chaine de caracteres";
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 antislash. Voici un récapitulatif
des caractères spéciaux nécessitant l'ajout d'un antislash:
Caractère |
Description |
\" |
guillemet |
\$ |
caractère $ |
\\ |
barre oblique inverse (antislash) |
\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>
</HEAD>
<BODY>
<?
// Récupération de la date
// et stockage dans une variable
$MaDate = date("Y");
echo "Nous sommes en $MaDate";
?>
</BODY>
</HTML>
La fonction print est similaire à la fonction echo à la
différence près 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("Chaine de caracteres");
print ((1+2)*87);
La fonction printf() (empruntée au langage C) est rarement utilisée car sa syntaxe
est plus lourde. Toutefois, contrairement aux deux fonctions précédentes, elle
permet un formatage des données, cela 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 formattée);
Une chaîne formattée est une chaîne contenant des codes spéciaux
permettant de repérer l'emplacement d'une valeur à insérer et son format,
c'est-à-dire 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 formattées sont séparées par des
virgules et doivent apparaître dans l'ordre où les codes apparaissent dans la chaîne formatté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:
$Pi = 3.1415927;
$R = 24.546;
$Perimetre = 2 * $Pi * $R;
printf ("Le périmètre du cercle est %d",$Perimetre);
Le code PHP peut être 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 plus simple 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 antislash sous peine de voir des erreurs lors de l'exécution). L'exemple le plus simple 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>, 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/fonctions déclarées dans une portion
de script seront accessibles dans les portions de scripts inférieures.
Pour plus d'informations PHP France
|