Syntaxe de base PHP
PHP est un langage de scripts Open Source, traditionnellement utilisé pour le développement d'applications web. Il peut également être utilisé en ligne de commande, ou pour produire des applications clientes graphiques avec la bibliothèque Gtk. Dans ce cours nous allons étudier la syntaxe de base du langage PHP et créer nos premières pages pages web dynamiques.
Site: | Touch By SukaJanda01 |
Cours: | Developpement web dynamique avec PHP |
Livre: | Syntaxe de base PHP |
Imprimé par: | Visiteur anonyme |
Date: | jeudi 1 mai 2025, 13:06 |
Table des matières
1 Introduction
PHP est un langage de scripts Open Source, traditionnellement utilisé pour le développement d'applications web. Il peut également être utilisé en ligne de commande, ou pour produire des applications clientes graphiques avec la bibliothèque Gtk. Les scripts PHP sont presque toujours interpretés (compilation ligne par ligne) (quelques compilateurs : roadsand, phc, hiphop, ...).
PHP permet par essence la production dynamique de documents web. De nombreuses bibliothèques existent néamoins pour générer à la volée des images (gd), des fichiers PDF (fpdf), des animations Flash (libswf, Ming). PHP facilite également l'interfaçage avec un grand nombre de serveur de base de données (mysql, postgres, oracle, sql server, ...). PhpMyadmin pour mysql en est une parfaite illustration. Les possibilités sont immenses. Dans cet atelier nous allons étudier la syntaxe de base du langage PHP et créer nos premières pages pages web dynamiques.
2 Interprétation du code PHP
La plupart des documents PHP comportent du code statique (code éxécutable par le client web : html, javascript, css, ...) imbriqué avec du code PHP. Lorsque l'interpreteur PHP parcourt un document, les parties statiques sont renvoyées sans traitement. Les parties dynamiques délimitées par des balises spécifiques sont interprétées.
3 Insertion de code PHP
Il existe quatre mode d'insertion de code PHP dans du code HTML :
- Mode standard: <?php echo "bonjour"; ?>. C'est le mode à utiliser de preference. Il est compatible (x)html. Le code PHP (affichage du mot bonjour sur l'exemple) est entouré des balises < ?php et ?>.
- Mode script: <script language="php"> echo "bonjour" ; </script>. Ce mode n'est pas reconnu par certains editeurs
- Mode asp: <% echo "bonjour" ; %>. Le style asp n'est pas activé par défaut. Pour l'activer il faut utiliser l'option −−enable−asp−tags lors de la compilation de php ou mettre la directive asp_tags à On dans le fichier de configuration de php.
- Mode court: <? echo "bonjour"; ?> Il n'est actif que si la directive short_open_tag dans le fichier de configuration de php (php.ini) est à On ou si php a été compilé avec l'option --enable-short-tags.
Pour des problèmes de compatibilité il est conseillé d'utiliser le mode standard qui garantit la portabilité de vos scripts PHP.
3.1 Premier script PHP
<html>
<head>
<title>Hello</title>
</head>
<body>
<?php
echo "Hello word";
?>
</body>
</html>
3.3 Applications
- Que fait selon vous ce premier script PHP ? Identifier les instructions php utilisées.
- Créer un répertoire atelier contenant un sous repertoire atelier2 dans le document root de votre serveur web et sauvegarder dans atelier2 sous le nom hello.php notre premier script.
- Identifier les parties du script qui seront interpretées par PHP.
- Quel est le mode utilisé pour inserer le code PHP ?
- Changer ce mode par le mode court. Vérifier si le script fonctionne toujours. Faites les modifications nécessaire pour le faire fonctionner.
4 Séparation des instructions PHP
Deux instructions php sont séparées par un point-virgule. L'instruction qui précéde une balise fermante php ne nécessite pas de point-virgule.
4.1 Applications
- Parmi les 6 fichiers suivants donner les fichiers corrects et modifier les fichiers incorrects en justifiant vos réponses :
<?
echo "Prénom: Moussa"; echo "Nom: Diop";
?>echo "Prénom: Moussa"; echo "Nom: Diop";
?><?php
echo "Prénom: Moussa"; echo "Nom: Diop";<?php
echo "Prénom: Moussa" echo "Nom: Diop";
?><?php
echo "Prénom: Moussa"; echo "Nom: Diop"
?><?php
echo "Prénom: Moussa" echo "Nom: Diop"
?> - Créer un fichier profil.php dans le repertoire atelier3 et inserer l'un des codes précedents.
- Modifier le code pour que le résultat comporte deux lignes (une ligne pour le prénom et une ligne pour le nom).
5 Les commentaires
Un commentaire un texte explicatif destiné aux lecteurs du code source. Il n'a aucune incidence sur le résultat du script. Dans un bloc php on considère comme commentaire :
les caractères entre les symboles /* et */ sur plusieurs lignes
les caractères après les symboles // ou # sur une seule ligne.
5.1 Applications
- Donner le résultat obtenu par les quatre scripts suivants après avoir corrigé les éventuelles erreurs.
<?
/* Auteur: Abdoulaye BASociété: SunuRew SA */
echo "Prénom: Moussa"; echo "Nom: Diop";
?>//Auteur: Abdoulaye Ba
Mon profil <br /> #Donner le profil de l'étudiant <?
echo "Prénom: Moussa <br />"; #Prenom de l'etudiant echo "Nom: Diop"; //nom de l'etudiant /*
fin
du script */
?>#Auteur Abdoulaye BA
#Societe : SunuRew SA <?php
echo "Prénom: Moussa"; echo "Nom: Diop"; //findu script //?>
#Fin
<table>
<caption>Mon profil</caption> <tr><td>Prenom</td><td><Nom></td></tr> <tr>
<?php
echo "<td>Moussa</td>"; //prenom
echo "<td>Diop</td>"; //nom
?>
</tr>
</table> -
Modifier le fichier profilEtudiant.php en ajoutant des commentaires sur l'auteur et le script (nom, prénom, date de création) et en mettant en place un affichage tabulaire du nom et du prénom (nom sur une ligne et prénom sur une ligne).
6 Les variables
En PHP les variables sont représentées par le signe dollar ($) suivi du nom de la variable. Le nom d'une variable définie par le programmeur doit commencer par une lettre ou le caractère souligné (_). Le nom d'un variable peut contenir un ensemble de lettres, chiffres et caractère soulignés. Habituellement, le type d'une variable n'est pas déclaré par le programmeur. Il est décidé au moment de l'exécution par PHP en fonction du contexte dans lequel la variable est utilisée. PHP supporte 8 types basiques répartis en 3 grands groupes: Les types scalaires (les types booléen, numérique (entier, décimal) et chaîne de caractères), les types composés (les types tableau et classe), les types spéciaux (les types ressources et null). Nous allons nous limiter dans cet atelier aux types scalaires et au type tableau.
6.1 Le types numériques
Les types entier et décimal (nombre à virgule) sont les deux types numériques disponibles en PHP.
Le type entier permet la manipulation de valeurs numériques entières. Les entiers sont par défaut spécifiés en notation décimale (base 10). Les notations octale (faire précédez le nombre d'un zéro) et hexadécimale (faire précédez le nombre de 0x) sont également disponibles.
Exemple 1
<?php
$age=25;
$numero=1234;
$octus=012; //entier en base 8
$hexus=0xA; //entier en base 16
echo "age=$age,num=$numero, octus=$octus, hexus=$hexus";
?>
Le type décimal permet la manipulation de valeurs numériques décimales. Une notation classique et une notation exponentielle sont disponibles pour representer les valeurs décimales.
Exemple 2
<?php
$longueur=253.32; //notation classique
$largeur=25.332e1; //notation exponentielle
$hauteur=25332E-2; //notation exponentielle
echo "long=$largeur,largeur=$largeur, hauteur=$hauteur";
?>
Les opérateurs arithmétiques
Le tableau suivant liste les opérateurs arithmétiques disponibles.
Opérateur |
Exemple |
Description |
négation |
-$a |
Opérateur unaire négation |
addition |
$a + $b |
Opérateur binaire addition |
soustraction |
$a -$b |
Opérateur binaire soustraction |
multiplication |
$a * $b |
Opérateur binaire multiplication |
division |
$a / $b |
Opérateur binaire division |
modulo |
$a % $b |
Opérateur binaire reste division |
Les opérateurs d'assignation
Ils permettent d'assigner à une variable une valeur. L'opérateur d'assignation la plus simple est l'affectation (=). Il permet d'affecter à une variable* la valeur d'une expression.
Exemple 3
<?php
$longueur=25;
$largeur=20;
$perimetre=($longueur+$largeur)*2;
echo "Le perimetre est de $perimetre metres";
?>
Des opérateurs d'assignation plus complexe existent. Ces opérateurs combinent entre autres les opérateurs arithmétiques classiques (-,+,*,/, %) avec l'opérateur d'assignation simple. Les opérateurs d'assignation complexe sont à utiliser lorsque l'expression à assigner à une variable utilise elle même la valeur initiale de la variable.
Exemple 4
<?php
$longueur=25;
$largeur=20;
$largeur*=$longueur;
echo "La surface est de $largeur metre carree";
?>
Assignation par valeur et par référence
Par défaut PHP assigne les variables par valeur (on a deux variables avec la même valeur). Pour assigner une variable par référence (on a une variable avec deux noms différents) il faut la faire précéder du caractère &.
Exemple 5
<?php
$longueur=25;
$largeur=$longueur;
$longueur=27;
echo "La largeur est $largeur et la longueur est $longueur";
$longueur=25;
$largeur=&$longueur;
$longueur=27;
echo "La largeur est $largeur et la longueur est $longueur";
?>
Les opérateurs de comparaison
Les opérateurs de comparaison permettent de comparer deux valeurs. Le résultat d'une comparaison est de type booléen. Le tableau suivant présente les différents opérateurs de comparaison.
Opérateur |
Exemple |
Résultat |
Description |
== |
"10"==10 |
true |
égalité si même valeur sans tenir compte du type |
=== |
"10"===10 |
false |
égalité si types et valeurs identiques |
<>, != |
"10"!=10 |
true |
différent sans tenir compte du type |
!== |
"10"!==10 |
false |
différent si valeur ou type différent |
>, >= |
10 > 12 |
false |
supérieur et supérieur ou égal. |
<, <= |
10 <= 12 |
true |
inférieur et inférieur ou égal |
Les opérateurs d'incrémentation et de décrémentation
Il est possible d'utiliser en PHP les opérateurs d'incrémentation (++) et de décrémentation(--).
Exemple 6
<?php
$longueur=25;
$largeur=$longueur++;
echo "La largeur est $largeur et la longueur est $longueur";
$largueur--;
$largeur=++$longueur;
echo "La largeur est $largeur et la longueur est $longueur";
?>
Les opérateurs bit à bit
Les opérateurs sur les bits sont utilisés pour manipuler les bits d'un entier. Le tableau suivant liste les opérateurs sur les bits disponibles avec $x=2 et $y=3.
Opérateur |
Exemple |
Résultat |
Description |
& |
$x & $y |
2 |
bit à 1 dans $x et dans $y sont à 1 dans le résultat |
| |
$x | $y |
3 |
bit à 1 dans $x ou dans $y sont à 1 dans le résultat |
^ |
$x ^ $y |
1 |
bit à 1 dans $x ou dans $y mais pas dans les deux sont à 1 dans le résultat |
~ |
~$x |
-3 |
bit à zéro dans $x sont à 1 dans le résultat |
<< |
$x << $y |
16 |
décalage de $y bits de $x vers la gauche en complétant par des zéros. |
>> |
$x >> $y |
0 |
décalage de $y bits de $x vers la droite en complétant par des zéros. |
PHP dispose de nombreuses fonctions mathématiques qui manipulent et produisent des nombres entiers et décimaux. Le tableau suivant en liste quelques unes avec des exemples d'utilisation.
Fonctions |
Exemple |
Résultat |
Description |
abs |
abs(-5) |
5 |
valeur absolue d’un nombre |
ceil |
ceil(2.4) |
3 |
entier supérieur |
floor |
floor(2.6) |
2 |
entier inférieur |
fmod |
fmod(7.2,2) |
1.2 |
reste decimal d’une division à résultat entier |
max, min |
max(10,12.3,1) |
12.3 |
plus grande valeur (utilisation possible d’un tableau). |
pow |
pow(10,2) |
100 |
puissance d’un nombre |
rand |
rand(1,9) |
3 |
valeur aléatoire entre un min (0) et un max optionnels |
round |
round(1.3481,2) |
1.35 |
valeur arrondie avec une précision optionnelle |
sqrt |
sqrt(9) |
3 |
racine carrée |
Remarques
- Les nombres décimaux ont une précision limitée. Pour plus de précision il est recommandé d'utiliser les fonctions mathématiques de précision (bcadd, bcmul, bcmod, ...) et les fonctions gmp (gmp_add,gmp_mul, gmp_mod,...).
Applications
- Dans un repertoire atelier3 à la racine du documentRoot créer pour chaque exemple un fichier php (exemple1.php, exemple2.php, ...).
- Créer dans le repertoire atelier3 les fichiers bit.php et math.php pour respectivement tester les opérateurs bit à bit et les fonctions mathématiques.
6.2 Le type chaîne de caractères (string)
Le type « chaîne de caractères » permet de manipuler les suites de caractères. Contrairement à d'autres langages le nombre de caractères d'une chaîne en PHP n'est pas fixé. PHP propose quatre syntaxes de manipulation des chaînes de caractères : guillemet double, guillemet simple, heredoc et nowdoc.
La syntaxe guillemet double
La chaîne de caractères est entourée entre des guillemets double.
Exemple 7
<?php
$nom= "Diop";
$prenom="Moussa" ;
echo "l'etudiant $prenom $nom";
?>
Remarques
- Pour utiliser des guillemets doubles à l'intérieur d'une chaîne entre guillemets doubles il faut la faire précéder du caractère anti-slash (\).
- Les séquences suivantes peuvent être utilisées à l'intérieur d'une chaîne entre guillemets doubles : \n, \r, \t, \v, \f, \$, \", \\, ...
La syntaxe guillemet simple
La chaîne de caractères est entourée entre des guillemets simple.
Exemple 8
<?php
$nom= 'Diop';
$prenom='Moussa';
echo 'l\'Etudiant $prenom $nom'; //les variables ne seront pas remplacées
echo 'l\'Etudiant Moussa DIOP';
?>
Remarques
- Les variables ne sont pas remplacées par leurs valeurs dans une chaîne entre guillemets simples.
- Pour utiliser des guillemets simples à l'intérieur d'une chaîne entre guillemets simples il faut la faire précéder du caractère anti-slash (\).
La syntaxe heredoc
La chaine de caractères débute par <<< suivi d'un identifiant similaire aux noms de variables et choisi par le programmeur. Le même identifiant sur une ligne signale la fin de la chaine de caratères.
Exemple 9
<?php
$id=1 ;
$nom= "Diop";
$prenom="Moussa" ;
$profilEtudiant= <<<profil
id : $id
Nom : $nom
Prenom=$prenom
profil
echo "profilEtudiant";
?>
Remarques
- Les chaînes heredoc se comporte de manières simillaires aux chaines entre guillemets doubles sauf que le caractère guillemet double n'a plus besoin d'être précédé par anti slash à l'intérieur de la chaîne.
- La ligne contenant l'identifiant ne doit contenir aucun autre caractère hormis le point-virgule à la fin. L'identifiant de fermeture doit occuper seul une nouvelle ligne.
La syntaxe nowdoc
La syntaxe est similaire aux chaines heredoc avec l'identifiant de début entouré par des guillemets simples.
Exemple 10
<?php
$profilEtudiant= <<<'profil'
id : 1
Nom : N'diaye
Prenom=Moussa
profil;
echo "$profilEtudiant";
?>
Remarques
- Les chaînes nowdoc se comporte de manières simillaires aux chaines entre guillemets simples sauf que le caractère guillemet simple n'a plus besoin d'être précédé par anti slash à l'intérieur de la chaîne. Les variables ne sont donc pas analysées lorsqu'elles sont à l'intérieur d'une chaîne nowdoc.
L'opérateur de concaténation
L'opérateur point (.) permet d'éffectuer la concaténation de deux chaines de caractères.
Exemple 11
<?php
$nom= "Diop";
$prenom="Moussa" ;
$nomComplet= $prenom . " " . $nom ;
echo "NomComplet:" . $nomComplet;
?>
L'opérateur d'assignation
L'opérateur = permet d'assigner une chaîne de caractère et l'opérateur .= est l'opérateur d'assignation complexe.
Exemple 12
<?php
$nom="Diop";
$prenom="Moussa" ;
$prenom.= " " . $nom ;
echo "NomComplet:" . $prenom;
?>
Les fonctions sur les chaînes de caractères
PHP dispose de nombreuses fonctions pour la gestion et la manipulation de chaînes de caractères. Le tableau suivant en liste quelques unes avec des exemples d'utilisation.
Fonctions |
Exemple |
Résultat |
Description |
nl2br |
nl2br("M \n D") |
M <br /> D |
insére un <br /> à chaque nouvelle ligne |
strcmp |
strcmp ("Moussa","Moise") |
12 |
compare 2 chaînes de caractères. |
strlen |
strlen("Moussa") |
6 |
retourne le nombre de caractère de la chaîne |
strpos |
strpos("Moussa",’s’) |
3 |
renvoie la position de la première occurrence d’un caractère |
strrev |
strrev("Moussa") |
assuoM |
inverse une chaîne |
strtolower |
strolower("MoussaDiop") |
moussadiop |
convertit les majuscules en miniscules |
strtoupper |
stroupper("Moussa") |
MOUSSA |
convertit les miniscules en majuscules |
trim |
trim(" Moussa ") |
Moussa |
Supprime les espaces en début et fin de chaîne |
echo, print |
echo ("Bonjour") |
1.35 |
Afficher une chaîne de caractères |
ucfirst |
ucfirst("moussa") |
Moussa |
Transforme le premier caractère en majuscule |
Applications
- Dans le repertoire chcaractère à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple7.php, exemple8.php, ...).
- Créer dans le repertoire chcaractère un fichier fonctionsChaine.php pour tester les fonctions sur les chaînes de caractères.
6.3 Le type booléen (bool ou boolean)
Le type booléen a deux valeurs notées par les constantes booléennes TRUE (vrai) et FALSE (faux). Les opérateurs de comparaisons renvoient une valeur booléenne. Ces mêmes opérateurs s'appliquent aux booléens avec TRUE > FALSE.
Opérateurs logiques
Le tableau suivant contient l'ensemble des opérateurs booléens sous la forme d'une table de vérité.
$x |
$y |
!$x |
$x && $y $x and $y |
$x || $y $x or $y |
$x xor $y |
TRUE |
TRUE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
TRUE |
FALSE |
TRUE |
TRUE |
FALSE |
FALSE |
TRUE |
FALSE |
FALSE |
FALSE |
Les opérateurs && et and, || et or ont un comportement simillaire mais n'ont pas la même priorité.
Exemple 13
<?php
$id=1 ;
$age= 25;
$nom="Diop";
if(($age>21) and (strcmp($nom, "Diop")==0))
echo "Majeur et Diop";
if(!($age>21) and ((strcmp($nom, "Diop")==0) or ($id==1)))
echo "Mineur et Diop ou id=1";
?>
Remarques
- Les valeurs suivantes sont entre autres considérées comme faux : false, 0, 0.0, la chaîne vide (""), "0", tableau vide, NULL, les variables non définies.
Applications
Dans le repertoire typebool à la racine du documentRoot créer le fichier exemple13.php correspondant à l'exemple de cette section . Expliquer le résultat obtenu.
6.4 Le type tableau (array)
Un tableau est une variable pouvant contenir plusieurs valeurs ordonnées. A chaque valeur d'un tableau correspond une clé unique qui permet d'acceder à la zone mémoire où elle est stockée. Une clé est soit un entier (tableau indexé), soit une chaîne de caractères (tableau associatif). Une valeur est de type quelconque (entier, chaîne de caractères, tableau, ...). Un tableau peut contenir à la fois des clés entières et chaîne de caractères (nous pouvons parler de tableaux hybrides).
Création d'un tableau
Le mot clé array est généralement utilisé pour créer un tableau. L'insertion d'une valeur dans un tableau qui n'existe pas à l'aide de la syntaxe dite « entre crochets » permet également de créer un tableau.
Exemple 14
<?php //cas 1 $etudiant=array (0=>1, 1=>"Diop", 2=>"Moussa"); print_r($etudiant) ; ?> |
<?php //cas 2 $etudiant=array(1,"Diop" ,"Moussa") ; print_r($etudiant) ; ?> |
<?php //cas 3 $etudiant[0]=1 ; $etudiant[1]="Diop" ; $etudiant[2]="Moussa"; print_r($etudiant) ; ?> |
<?php //cas 4 $etudiant=array ('id'=>1, 'nom'=>"Diop", 'prenom'=>"Moussa"); print_r($etudiant) ; ?> |
<?php //cas 5 $etudiant=array ('id'=>1, 10=>"Diop", 'prenom'=>"Moussa"); print_r($etudiant) ; ?> |
<?php //cas 6 $etudiant[]=1 ; $etudiant[5]="Diop" ; $etudiant[]="Moussa"; print_r($etudiant) ; ?> |
Les cas 1, 2, 3 sont identiques avec des clés entieres (0, 1, 2). Le cas 4 utilise des clés chaîne de caractères. Le cas 5 utilise des clés entieres et des clés chaîne de caractères. Pour le cas 6 où nous ne spécifions pas de clé, PHP attribut la clé entière la plus élevé plus un. Donc les clés entières pour le cas 6 sont 0, 5 et 6.
Accès aux valeurs d'un tableau
La syntaxe entre crochets est utilisée pour accéder à une valeur d'un tableau.
Exemple 15
<?php //cas 1 $etu[0]=1 ; $etu['nom']="Diop" ; $val="prenom"; $etu[$val]="Moussa" ; echo "id:" . $etu[0] . " nom: " . $etu['nom'] . " prenom: " . $etu[$val] . "<br />"; echo "id: $etu[0] nom: {$etu['nom']} prenom : {$etu[$val]} "; ?> |
<?php //cas 2 $etus[0]= array('id'=>1, 'nom'=>"Diop",'prenom'=>"Moussa"); $etus[1]= array('id'=>2, 'nom'=>"Ba",'prenom'=>"Mamadou"); $etus[2]= array('id'=>3, 'nom'=>"Gueye",'prenom'=>"Fatou"); echo "id:" . $etus[0]['id'] . " nom: " . $etus[0]['nom'] . "<br />"; echo "id: {$etus[0]['id']} nom: {$etus[0]['nom']} <br />"; ?> |
Noter la syntaxe entre accoladde de même que la concaténation de chaînes de caractères à utiliser pour plus de lisibilité. Noter également que $val n'est pas entouré par des guillemets quand nous l'utilisons comme clé de type chaîne de caractères. Dans le cas 2 la valeur du tableau etus est de type tableau. Cette syntaxe nous permet de déclarer des tableaux de dimension n (n>1).
Remarques
- Pour eviter toute confusion avec les constantes de même nom, la valeur d'une clé de type chaîne de caractère doit être encadré par des guillemets.
Fonctions sur les tableaux
PHP dispose de nombreuses fonctions pour la gestion et la manipulation de tableaux. Le tableau suivant en liste quelques unes avec des exemples d'utilisation.
Fonctions |
Exemple |
Description |
count, sizeOf |
count($etus) |
renvoient le nombre d’élément d’un tableau |
in_array |
in_array('Moussa',$etu) |
vérifie si une valeur existe dans un tableau. |
array_key_exist |
array_key_exist('nom',$etu) |
vérifie si une clé existe dans un tableau |
sort, rsort |
sort($etu) |
trie alphanumérique d’un tableau |
implode |
implode(' et ',$etu) |
renvoie les éléments du tableau joints par la chaîne en argument |
explode |
explode(';','1;Diop;Mouss') |
scinde une chaîne pour en faire un tableau |
array_merge |
array_merge($etu,$etu1) |
fusionne plusieurs tableaux en un seul |
Applications
- Dans le repertoire sequence3 à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple14cas1.php, exemple14cas2.php, ...).
- Créer dans le repertoire sequence3 un fichier fonctionsTab.php pour tester les fonctions sur les tableaux.
6.5 Variables dynamiques
En PHP l'identifiant d'une variable peut varier. Pour cela l'identifiant est lui même la valeur d'une variable qui par définition peut varier.
Exemple 16
<?php
$centre_universitaire="lambaye";
$$centre_universitaire ="2500 habitants"; // $lambaye="2500 habitants"
echo "$centre_universitaire ${$centre_universitaire}";
echo "$centre_universitaire $lambaye";
?>
Applications
- Dans le repertoire séquence3 à la racine du documentRoot créer le fichier exemple16.php correspondant à l'utilisation des variables dynamiques . Commentez le résultat obtenu.
6.6 Fonctions sur les variables
- empty($a) vérifie si $a est vide (chaîne vide, 0, 0.0, "0", NULL, FALSE, un tableau vide)
- get_defined_vars() renvoie l'ensemble des variables définies
- gettype($a) renvoie le type de la variable $a
- settype($a, "int") affecte à une variable un type (int sur l'exemple). Les opérateurs de cast comme en C peuvent également être utilisés.
- is_bool, is_array, is_float ou is_double ou is_real, is_int ou is_integer, is_null, is_numeric, is_string, ... determine respectivement si une variable est de type booléen, tableau, réel, entier, null, numérique ou chaîne de caractères.
- isset determine si une variable est définie et de valeur différente à null.
- var_dump($a) affiche les informations (valeur et type) d'une variable.
- print_r($a) affiche le contenu d'une variable
Exemple 17
<?php
$id=1 ;
$age= "25";
$prenom= "" ;
$nom="Diop";
echo gettype($id) ;
var_dump($age) ;
settype($age, "int") ;
var_dump(age) ;
if(isset($prenom))
echo "prenom defini" ;
if(empty($prenom))
echo "prenom est vide" ;
?>
Applications
Dans le repertoire sequence3 à la racine du documentRoot créer le fichier exemple17.php correspondant à l'exemple de cette section . Commentez le résultat.
7 Les constantes
Une constante est un nom qui représente une valeur simple. Par définition la valeur d'une constante ne change pas durant l'éxécution du script (sauf pour les constantes magiques). Le langage PHP utilise des constantes scalaires : booléenne (TRUE, FALSE), entières (1,2, -1, ...), réelles (-1.2, 0.314E1,3.14, ...), chaine de caractères ("CECI est une chaîne de caractères", 'ceci aussi', 'a').
7.1 Déclaration d’une constante
Le nom d'une constante comme pour les noms de variables commence par une lettre ou le caractère souligné suivi d'une combinaison de lettres, chiffres ou soulignés. Par convention les caractères utilisés pour nommer une constante sont en majuscule. Les mots clés define et const permettent de définir une constante. Le mot clé const doit toujours être utilisé dans un contexte global.
Exemple 18
<?php
define("UNIVERSITE","Bambey"); //constante UNIVERSITE ayant pour valeur Bambey
const CENTRE='Diourbel'; //constante CENTRE ayant pour valeur Diourbel
$a=25;
if($a<34)
const RESPONSABLE='Kasse' ; //contexte local donc erreur...
?>
7.2 Acces à la valeur une constante
Le nom d'une constante est généralement utilisé pour accéder à sa valeur. Il est également possible d'utiliser la fonction constant (à utiliser généralement si le nom de la constante n'est connu que durant l'exécution du script.).
Exemple 19
<?php
const CENTRE='Diourbel'; //constante CENTRE ayant pour valeur Diourbel
define("UNIVERSITE","Bambey"); //constante UNIVERSITE ayant pour valeur Bambey
define("ANNEE",10); //constante UNIVERSITE ayant pour valeur Bambey
$moncentre= "CENTRE";
echo UNIVERSITE;
echo constant($moncentre);
echo CENTRE ;
echo ANNEE;
?>
Constantes magiques
PHP fournit des constantes prédéfinies appelées constantes magiques. Certaines constantes appartiennent à des extensions et ne seront disponibles que si ces extensions sont compilées avec PHP. Contrairement aux constantes classiques la valeur d'une constante magique peut changer durant l'exécution d'un script selon le contexte d'utilisation (néanmoins il n'est pas possible de changer dans un script la valeur d'une constante magique.). Il y a sept constantes magiques dont la valeur peut changer selon le contexte :
Nom de la constante |
Valeur |
__LINE__ |
La ligne courante dans le fichier. |
__FILE__ |
Le chemin complet et le nom du fichier courant. |
__DIR__ |
Le dossier du fichier. |
__FUNCTION__ |
Le nom de la fonction |
__CLASS__ |
Le nom de la classe courante. |
__METHOD__ |
Le nom de la méthode courante |
__NAMESPACE__ |
Le nom de l'espace de noms courant |
Exemple 20
<?php
echo __LINE__; //affiche la ligne ou se trouve cette instruction
echo __LINE__; //affiche la ligne ou se trouve cette instruction donc +1
echo __FILE__; //affiche le chemin du script.
?>
cv
7.3 Fonctions pour les constantes
- defined ('nomConstante'): vérifie si une constante a été définie avec define. Elle renvoie une valeur booléenne.
- get_defined_constant() : retourne la liste des constantes avec leurs valeurs
7.4 Applications
- Dans le fichier profil.php définissez les constantes UNIVERSITE et CENTRE. Afficher un message de bienvenu incluant la valeur de ces deux constantes « Bienvenu à l'université de ... Centre de ... »
- Afficher à l'aide d'un echo la valeur renvoyée par defined('UNIVERSITE'), defined('UNIVERSITES') et defined('universite').
- Afficher à l'aide de print_r la valeur renvoyée par la fonction get_defined_constant().
- Définir puis afficher une constante booléenne, réelle, entiere et chaine de caractère.