Académique Documents
Professionnel Documents
Culture Documents
Dr N. BAME
Passer du HTML au PHP
• Il y a quatre jeux de balises qui servent à délimiter des
blocs de code PHP.
<?php et ?>
<? et ?>
<script language="php"> et </script>
<%php et %>
• ?>
Variables
• Les variables sont destinées à conserver
temporairement des valeurs.
• Le typage des variables est implicite en php.
• Booléen
– $encours = true;
Type d’une variable (1)
• PHP détermine automatiquement le type d’une variable en
fonction de la valeur.
• is_array(),
• is_double(), is_float(), is_real() - c'est la même fonction,
• is_long(), is_int(), is_integer()- c'est la même fonction,
• is_string(),
• is_object(),
• is_ressource(),
• is_null(),
• is_scalar() - si la variable est scalaire, c'est à dire si c'est un
entier, une chaîne, ou un double.
• is_numeric() - si la variable est un nombre ou une chaîne
numérique,
Type d’une variable (3)
• PHP dispose aussi de fonctions permettant de
connaître l'état de variables :
– isset () : retourne true ou false selon que la variable
passée en paramètre existe ou pas,
– unset () : supprime la variable passée en paramètre,
– empty() : retourne un booléen selon que la variable est
non vide ou non nulle.
Conversion de type
• Il existe des fonctions qui aident à la réalisation du
transtypage de variables :
– int intval(variable),
– float floatval(variable),
– string strval(variable).
• On peut également utiliser la fonction settype() pour changer
le type d’une variable
settype($variable, ‘newType’);
• Affectation : = • Division : /
– $var1 = 10 ; • $var5= $var1/$var2 ;
– $var2 = 2 ;
• Multiplication :*
• $var6= $var1*$var2 ;
• Addition : +
– $var3= $var1 + $var2 ;
• Modulo : %
• $var7= $var1 %$var2 ;
• Soustraction : -
– $var4= $var1-$var2 ;
Affectation
• =
• +=
$var += 1; //ajoute à la valeur existante
• -=
$x -= 2; //soustrait à la valeur existante
• *=
$x *= 3; //multiplie la valeur existante
• /=
$x /= 4; //divise la valeur existante
Comparaison
• == : égal à
X==Y
• != : différent de
X!=Y
• <> :différent de
X<>Y
• > : Supérieur à
• >= : Supérieur ou égal à
• < : Inférieur à
• <= : inférieur ou égal à
Incrémentation et diminution
Incrémentation ++ Diminution --
$x = 5; $x = 5;
echo ++$x; //incrémente echo --$x; //réduit puis
//puis affiche 6 affiche 4
echo $x; //affiche 6 echo $x; //affiche 4
$x = 5; $x = 5;
echo $x++; //affiche 5 echo $x--; //affiche 5
//puis incrémente //puis réduit
echo $x; //affiche 6 echo $x; //affiche 4
Condition et comparaison logique (1)
• Condition (?)
L'opérateur ternaire "?" est une alternative :
• "est-ce vrai ? valeur si oui : valeur sinon";
• Concaténation
– Avec guillemets doubles
• $ch= "Je suis $var3 "
– Avec guillemets simples
• $ch= ‘Je suis’.$var3
– . = : concatène à la suite de la chaîne existante
• $ch = ‘je suis’;
• echo $ch.=’Mamadou Ndiaye’ ; // affiche je suis Mamadou Ndiaye
Portée d’une variable
• La portée d’une variable dépend du contexte dans lequel elle
est définie ;
Variable Description
$GLOBALS Nom et valeur de toutes les variables globales
du script
$_COOKIE Nom et la valeur des cookies enregistrés sur le
poste client
$_FILES Nom des fichiers téléchargés à partir du poste
client.
$_GET N om et la valeur des données issues d’un
formulaire envoyé par la méthode GET.
$_POST Nom et la valeur des données issues d’un
formulaire envoyé par la méthode POST.
$_SESSION Contient l’ensemble des noms des variables de
session et leurs valeurs.
Les constantes
• Une constante est une variable dont la valeur est
inchangeable lors de l'exécution d'un programme
– define("CONSTANT_NAME", "CONSTANTE_VALUE")
– echo CONSTANT_NAME; // affiche CONSTANTE_VALUE
• Syntaxe simplifié
for (expression1; condition; expression2) :
Traitement //instructions à exécuter tant que la condition est vraie
endfor;
La boucle foreach
• Très pratique pour parcourir un tableau ou une
liste d’objets
• Syntaxe
foreach(tableau as $index =>$valeur)
{
echo "$index $valeur ";
}
Exemples
Les tableaux
• Les tableaux stockent des données sous forme de liste.
function produit($valeur1,$valeur2)
{
return $valeur1 * $valeur2;
}
Exemples
// utilisations de la fonction produit
// - dans une affectation
$résultat = produit(2,4);
echo "$résultat<BR>";
// - dans une comparaison
if (produit(10,12) > 100) {
echo "Le résultat est supérieur à 100.<BR>";
}
// - dans une affectation et une comparaison (lisibilité ?)
if (($résultat = produit(10,12)) > 100)
{
echo "$résultat est supérieur à 100.<BR>";
}
Remarques
• Il est possible d'utiliser une fonction avant de la
définir.
• Exemple
<?php
// utilisation de la fonction produit
echo produit(5,5);
// définition de la fonction produit
function produit($valeur1,$valeur2) {
return $valeur1 * $valeur2;
}
?>
• Il n'y a donc aucun problème pour définir des
fonctions qui s'appellent entre elles.
Passage des arguments d'une fonction
• Passage par valeurs : la fonction ne modifie pas ses
arguments.
c'est a dire que s'ils ont une valeur à l'extérieur de la fonction,
seule la valeur est transmise à la fonction,
si la variable subit des modifications à l'intérieur de la fonction,
ces modifications ne seront pas perçues dans le programme
principal.
// Appel
nbArgs(1, 2, 3); // affiche 'Nombre d'arguments: 3'
?>
Nombre de paramètres variables
// fonction qui effectue le produit de tous les paramètres
function produit() {
if (func_num_args() == 0) { // pas de paramètres => résultat= 0
$résultat = 0;
} else { // récupérer les paramètres dans un tableau
$paramètres = func_get_args();
$résultat = 1;
// faire une boucle sur le tableau des paramètres pour
multiplier le résultat par le paramètre
foreach($paramètres as $paramètre)
{$résultat *= $paramètre;}
}
// retourner le résultat
return $résultat;
}
Nombre de paramètres variables
// appels
echo produit()."<BR>";
echo produit(1)."<BR>";
echo produit(1,2)."<BR>";
echo produit(1,2,3)."<BR>";
echo produit(1,2,3,4)."<BR>";
Résultat
0
1
2
6
24
Inclure des portions de pages
• Une des fonctionnalités les plus simples et les plus
utiles de PHP est l'inclusion de pages
• On peut inclure une page ou un bout de page à
l'intérieur d'une autre.
• Eviter de recopier le même code HTML plusieurs
fois
– l'en-tête ;
– le menu ;
– le pied de page.
Inclure des portions de pages
• Fonctionnement
• Les fonctions include, include_once, require et
require_once permettent d'inclure un fichier dans
un script PHP.
• Syntaxe
entier include(fichier)
entier include_once(fichier)
require (fichier)
require_once(fichier)
– fichier Nom du fichier à inclure (peut être indiqué avec
un chemin absolu ou relatif).
Inclure des portions de pages
• Les fonctions include et include_once retournent 1
en cas de succès et FALSE en cas d'erreur.
• Les fonctions require et require_once n'ont pas de
code de retour.