Imprimer tout le livreImprimer tout le livre

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

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.

2.1 Interpretation versus Compilation

compilation versus interpretation

3 Insertion de code PHP

Il existe quatre mode d'insertion de code PHP dans du code HTML :

  1. 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 ?>.
  2. Mode script: <script language="php"> echo "bonjour" ; </script>.  Ce mode n'est pas reconnu par certains editeurs
  3. 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.
  4. 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.2 Remarque

La balise fermante en fin de fichier est optionnelle.

3.3 Applications

  1. Que fait selon vous ce premier script PHP ? Identifier les instructions php utilisées.
  2. 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.
  3. Identifier les parties du script qui seront interpretées par PHP.
  4. Quel est le mode utilisé pour inserer le code PHP ?
  5. 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

  1. 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"
    ?>
  2. Créer un fichier profil.php dans le repertoire atelier3 et inserer l'un des codes précedents.
  3. 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

  1. Donner le résultat obtenu par les quatre scripts suivants après avoir corrigé les éventuelles erreurs.
    <?
    /* Auteur: Abdoulaye BA

    Socié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"; //fin

    du 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>

  2. 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.

Les fonctions mathématiques

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

  1. Dans un repertoire atelier3 à la racine du documentRoot créer pour chaque exemple un fichier php (exemple1.php, exemple2.php, ...).
  2. 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

  1. 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 (\).
  2. 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

  1. Les variables ne sont pas remplacées par leurs valeurs dans une chaîne entre guillemets simples.
  2. 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

  1. 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.
  2. 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

  1. 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

  1. Dans le repertoire chcaractère à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple7.php, exemple8.php, ...).
  2. 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

  1. 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

  1. 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

  1. Dans le repertoire sequence3 à la racine du documentRoot créer pour chaque exemple de cette section un fichier php (exemple14cas1.php, exemple14cas2.php, ...).
  2. 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

  1. 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

  1. defined ('nomConstante'): vérifie si une constante a été définie avec define. Elle renvoie une valeur booléenne.
  2. get_defined_constant() : retourne la liste des constantes avec leurs valeurs

7.4 Applications

  1. 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 ... »
  2. Afficher à l'aide d'un echo la valeur renvoyée par defined('UNIVERSITE'), defined('UNIVERSITES') et defined('universite').
  3. Afficher à l'aide de print_r la valeur renvoyée par la fonction get_defined_constant().
  4. Définir puis afficher une constante booléenne, réelle, entiere et chaine de caractère.