PHP Gestion des systèmes dinformation Classe terminale Professeur: Mme BELLILI

Preview:

Citation preview

PHPPHP

Gestion des systèmes d’information

Classe terminale

Professeur: Mme BELLILI

PlanPlan

Histrique du PHPHistrique du PHP

Intégration de PHP dans une page WebIntégration de PHP dans une page Web

CommentariesCommentaries

Variables et typesVariables et types

OpérateursOpérateurs

ConstanteConstante

MathématiqueMathématique

Chaine de caractèreChaine de caractère

AffichageAffichage

Les tableauxLes tableaux

Tableaux associatifsTableaux associatifs

Structures de contrôlesStructures de contrôles

Les fonctionsLes fonctions

PHPPHP

historique du PHP

Créé en 1994 par Rasmus Lerdorf pour les besoins des Créé en 1994 par Rasmus Lerdorf pour les besoins des

pages web personnelles.pages web personnelles.

PHP est un langage de script, exécuté du côté serveur. PHP est un langage de script, exécuté du côté serveur.

A l’époque, PHP signifiait A l’époque, PHP signifiait Personal Home PagePersonal Home Page. .

Maintenant, c'est PHP Hypertext ProcessorMaintenant, c'est PHP Hypertext Processor

Langage incrusté au code HTML et interprété du côté Langage incrusté au code HTML et interprété du côté

serveur.serveur.

Il supporte tous les standards du web et est gratuit. Il Il supporte tous les standards du web et est gratuit. Il

s’est rapidement répandu sur la toile.s’est rapidement répandu sur la toile.

1

Intégration de PHP dans une page WebIntégration de PHP dans une page Web

Les pages web sont au format html. Les pages web sont au format html.

Les pages web dynamiques générées avec PHP sont au format Les pages web dynamiques générées avec PHP sont au format php. php.

Le code source php est directement inséré dans le fichier html Le code source php est directement inséré dans le fichier html comme ci-dessous: comme ci-dessous:

<?php <?php … ?>… ?>

ExempleExemple

<html><html>

<body><body>

<?php<?php

echo "echo "BonjourBonjour";";

?>?>

</body></body>

</html></html>

Autres syntaxes d’intégration : -

<? … ?>

<script language="php"> … </script>

<% … %>

Autres syntaxes d’intégration : -

<? … ?>

<script language="php"> … </script>

<% … %>

5

Exemple de scriptExemple de script

<html><body><h1>Mon premier script</h1><?php echo "Bonjour\n"; ?></body></html>

Exemple de script, code source (côté serveur) :

Résultat affiché par le navigateur :

6

Éléments du langage PHP

Éléments du langage PHP

CommentairesCommentaires

ExempleExemple

<?php<?php

// commentaire de fin de ligne// commentaire de fin de ligne

/* commentaire /* commentaire

sur plusieurs lignes */sur plusieurs lignes */

?>?>

Tout ce qui se trouve dans un commentaire est ignoré. Tout ce qui se trouve dans un commentaire est ignoré.

Il est conseillé de commenter largement ses scripts.Il est conseillé de commenter largement ses scripts.

7

Variables & types (I)Variables & types (I)

Le typage des variables est implicite en PHP.Le typage des variables est implicite en PHP.

Les identificateurs de variable sont précédés du symbole « Les identificateurs de variable sont précédés du symbole « $$ »  » (dollars). (dollars).

ExempleExemple : : $var$var..

Les variables peuvent être de type :Les variables peuvent être de type :

Entier (Entier (integerinteger), ), Réel (Réel (doubledouble), ), Chaîne de caractères (Chaîne de caractères (stringstring), ), Tableau (Tableau (arrayarray), ), Booléen (Booléen (booleanboolean).).

8

Variables & types (II)Variables & types (II)

La portée d’une variable en PHP, est limitée au bloc dans La portée d’une variable en PHP, est limitée au bloc dans

lequel elle a été créée. lequel elle a été créée.

11

Opérateurs arithmétiquesOpérateurs arithmétiques

++ (addition), (addition), -- (soustraction), (soustraction), ** (multiplié), (multiplié), // (divisé), (divisé), %% (modulo), (modulo), ++++ (incrément), (incrément), ---- (décrément). (décrément).

Opérateurs d’assignementOpérateurs d’assignement

== (affectation), (affectation), *=*= ($x*=$y équivalent à $x=$x*$y), ($x*=$y équivalent à $x=$x*$y), /=, +=, -/=, +=, -=, %=.=, %=.

Opérateurs logiquesOpérateurs logiques and, and, &&&& (et), or, (et), or, |||| (ou), (ou),!! (non) (non)

Opérateurs de comparaisonOpérateurs de comparaison ==== (égalité), (égalité), << (inférieur strict), (inférieur strict), <=<= (inférieur large), (inférieur large), >>, , >=>=, , !=!= (différence).(différence).

Opérateurs (I)Opérateurs (I)

12

Opérateurs de concaténationOpérateurs de concaténation

Pour concaténer deux chaînes de caractères en PHP, Pour concaténer deux chaînes de caractères en PHP, on utilise le point (.).on utilise le point (.).

ExempleExemple

$exp1="nom1";$exp1="nom1";

$exp2="nom2";$exp2="nom2";

echo exp1.exp2;echo exp1.exp2;

//affiche la valeur nom1nom2//affiche la valeur nom1nom2

Opérateurs (II)Opérateurs (II)

13

ConstantesConstantes

On peut définir des constantes dont la valeur est fixée une fois On peut définir des constantes dont la valeur est fixée une fois pour toute. Les constantes ne portent pas le symbole $ pour toute. Les constantes ne portent pas le symbole $ (dollars) en début d’identificateur et ne sont pas modifiables.(dollars) en début d’identificateur et ne sont pas modifiables.

define("var",valeur) : définit la constante var (sans $) de valeur define("var",valeur) : définit la constante var (sans $) de valeur valeur.valeur.

Exemple 1Exemple 1

definedefine("auteur","Arthur");("auteur","Arthur");

echo author;echo author; // affiche ‘Arthur’// affiche ‘Arthur’

Exemple 2Exemple 2

definedefine(MY_YEAR,1980);(MY_YEAR,1980);

echo MY_YEAR;echo MY_YEAR; // affiche 1980// affiche 1980

Contrairement aux variables, les identificateurs de constantes Contrairement aux variables, les identificateurs de constantes (et aussi ceux de fonction) ne sont pas sensibles à la casse.(et aussi ceux de fonction) ne sont pas sensibles à la casse.

14

Mathématiques Mathématiques

La plupart des fonctions mathématiques du langage C reste La plupart des fonctions mathématiques du langage C reste valable en PHP.valable en PHP.

abs($x)abs($x) : valeur absolue: valeur absolue

ceil($x)ceil($x) : arrondi supérieur: arrondi supérieur

floor($x)floor($x) : arrondi inférieur: arrondi inférieur

pow($x,$y)pow($x,$y) : x exposant y: x exposant y

round($x,$i)round($x,$i) : arrondi de x à la ième : arrondi de x à la ième

décimale.décimale.

max($a, $b, $c …)max($a, $b, $c …) : retourne le maximum: retourne le maximum

pi()pi() : retourne la valeur de Pi: retourne la valeur de Pi

Et aussiEt aussi

cos, sin, tan, exp, log, min, pi, sqrt…cos, sin, tan, exp, log, min, pi, sqrt…

15

Chaînes de caractères (I)Chaînes de caractères (I)

Quelques caractères spéciaux : \n (nouvelle ligne), \r (retour Quelques caractères spéciaux : \n (nouvelle ligne), \r (retour à la ligne), \t (tabulation horizontale), \\ (antislash), \$ à la ligne), \t (tabulation horizontale), \\ (antislash), \$ (caractère dollars), \"  (double quote). (caractère dollars), \"  (double quote).

ExempleExemple : : echo "Hello Word !echo "Hello Word !\n\n";";

Opérateur de concaténation de chaînes : Opérateur de concaténation de chaînes : .. (point) (point)

Exemple 1Exemple 1

$f1 = "Hello";$f1 = "Hello";

$f2 = "Word";$f2 = "Word";

echo $f1.$f2; echo $f1.$f2;

Exemple 2 Exemple 2

$name = "Henry";$name = "Henry";

$whoiam = $name."IV";$whoiam = $name."IV";18

Chaînes de caractères (II)Chaînes de caractères (II)

Affichage d’une chaîne avec echoAffichage d’une chaîne avec echo : :

ExemplesExemples

echo 'Hello Word.';echo 'Hello Word.';

echo "Nom : ", $name;echo "Nom : ", $name;

echo ("Bonjour");echo ("Bonjour");

19

Quelques fonctions chaînesQuelques fonctions chaînes

strlen($str)strlen($str) : retourne le nombre de caractères d’une chaîne : retourne le nombre de caractères d’une chaîne

strtolower($str)strtolower($str) : conversion en minuscules : conversion en minuscules

strtoupper($str)strtoupper($str) : conversion en majuscules : conversion en majuscules

trim($str)trim($str) : suppression des espaces de début et de fin de : suppression des espaces de début et de fin de

chaînechaîne

substr($str,$i,$j)substr($str,$i,$j) : retourne une sous chaîne de $str de taille : retourne une sous chaîne de $str de taille

$j et débutant à la position $i$j et débutant à la position $i

strnatcmp($str1,$str2)strnatcmp($str1,$str2) : comparaison de 2 chaînes . : comparaison de 2 chaînes .

addslashes($str)addslashes($str) : déspécialise les caractères spéciaux : déspécialise les caractères spéciaux

(', ", \)(', ", \)

ord($char)ord($char) : retourne la valeur ASCII du caractère $char : retourne la valeur ASCII du caractère $char

Chaînes de caractères (III)Chaînes de caractères (III)

20

AffichageAffichage

Les fonctions d’affichage : Les fonctions d’affichage :

echo()echo() : écriture dans le navigateur sans formatage : écriture dans le navigateur sans formatage

print()print() : écriture dans le navigateur sans formatage : écriture dans le navigateur sans formatage

printfprintf([$format, $arg1, $arg2])([$format, $arg1, $arg2]) : écriture formatée, i.e. la : écriture formatée, i.e. la chaîne de caractère est constante et contient le format chaîne de caractère est constante et contient le format d’affichage des variables passées en argumentd’affichage des variables passées en argument

Exemples Exemples

echoecho "Bonjour $name"; "Bonjour $name";

printprint("Bonjour $name");("Bonjour $name");

printfprintf("Bonjour %s", $name);("Bonjour %s", $name);

21

Les tableauxLes tableaux

Permettent d’enregistrer une liste de valeurs de même Permettent d’enregistrer une liste de valeurs de même type dans une structure unique.type dans une structure unique.

L’accès aux éléments d’un tableau se fait via l’opération L’accès aux éléments d’un tableau se fait via l’opération d’indexation.d’indexation.

ExempleExemple

$ville[0]="Paris";$ville[0]="Paris";

$ville[1]="Toulouse";$ville[1]="Toulouse";

$ville[2]="Lyon";$ville[2]="Lyon";

echo "Je vis à $ville[0] <BR>";echo "Je vis à $ville[0] <BR>";

Les tableaux (I)Les tableaux (I)

22

Tableaux (II)Tableaux (II)

Une variable tableau est de type Une variable tableau est de type arrayarray. Un tableau accepte . Un tableau accepte des éléments de tout type. Les éléments d’un tableau des éléments de tout type. Les éléments d’un tableau peuvent être de types différents et sont séparés d’une peuvent être de types différents et sont séparés d’une virgule. virgule.

Un tableau peut être initialisé avec la syntaxe array.Un tableau peut être initialisé avec la syntaxe array.

Exemples Exemples $tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);$tab_colors = array(‘red’, ’yellow’, ’blue’, ‘white’);$tab = array('baby', 2002, 20.5, $name);$tab = array('baby', 2002, 20.5, $name);

Mais il peut aussi être initialisé au fur et à mesure.Mais il peut aussi être initialisé au fur et à mesure.

ExemplesExemples $prenoms[ ] = "Clément"; $villes[0] = "Paris";$prenoms[ ] = "Clément"; $villes[0] = "Paris";$prenoms[ ] = "Justin"; $villes[1] = "Londres";$prenoms[ ] = "Justin"; $villes[1] = "Londres";

23

Tableaux (III)Tableaux (III)

L’appel d’un élément du tableau se fait à partir de son indice.L’appel d’un élément du tableau se fait à partir de son indice.

Exemple :Exemple : echo $tab[10];echo $tab[10]; // pour accéder au 11ème élément// pour accéder au 11ème élément

Parcours d’un tableau. Parcours d’un tableau. $tab = array(‘Hugo’, ‘Jean’, ’Mario’);$tab = array(‘Hugo’, ‘Jean’, ’Mario’);

Exemple 1 Exemple 1 $i=0;$i=0;while ($i <= count($tab)) { while ($i <= count($tab)) { // // count()count() retourne le nombre d’éléments retourne le nombre d’éléments echo $tab[$i].’\n’;echo $tab[$i].’\n’; $i++;$i++;}}

24

ExempleExemple

foreach (foreach ($tab $tab asas $elem $elem) ) {{ echo $elem."\n";echo $elem."\n";}}

La variable $elem prend pour valeurs successives La variable $elem prend pour valeurs successives toustous

les éléments du tableau $tab.les éléments du tableau $tab.

Tableaux (VI)Tableaux (VI)

25

Tableaux associatifs (I)Tableaux associatifs (I)

Un tableau associatif est appelé aussi Un tableau associatif est appelé aussi dictionnairedictionnaire ou ou hashtablehashtable. On associe à chacun de ses éléments une clé . On associe à chacun de ses éléments une clé dont la valeur est de type chaîne de caractères.dont la valeur est de type chaîne de caractères.

L’initialisation d’un tableau associatif est similaire à celle L’initialisation d’un tableau associatif est similaire à celle d’un tableau normal.d’un tableau normal.

Exemple 1 -Exemple 1 -

$personne = array("Nom" => "César", "Prénom" => "Jules");$personne = array("Nom" => "César", "Prénom" => "Jules");

Exemple 2 -Exemple 2 -

$personne["Nom"] = "César";$personne["Nom"] = "César";

$personne["Prénom"] = "Jules";$personne["Prénom"] = "Jules";

Ici à la valeur "Nom" de la clé est associée la valeur "César".Ici à la valeur "Nom" de la clé est associée la valeur "César".26

Exemple -Exemple -

$tab1 = array (     "SAM" => "Samedi","DIM"=>"Dimanche","LUN"=>"Lundi","MAR"=>"Mardi","MER"=>"Mecredi","JEU"=>"Jeudi","VEN"=>"Vendredi");

Tableaux associatifs (II)

27

Tableaux associatifs (III)Tableaux associatifs (III)

Parcours d’un tableau associatif.Parcours d’un tableau associatif.$personne = $personne = array(array("Nom" "Nom" =>=> "César" "César",, "Prénom" "Prénom" =>=> "Jules" "Jules"));;

Exemple - Exemple -

foreach ($personne as $elem) foreach ($personne as $elem) {{

echo $elem;echo $elem;}}

Ici on accède directement aux éléments du tableau sans passer Ici on accède directement aux éléments du tableau sans passer par les clés.par les clés.

Exemple -Exemple -

foreach ($personne as $key => $elem) foreach ($personne as $key => $elem) {{

echo "$key : $elem";echo "$key : $elem";}}

Ici on accède simultanément aux clés et aux éléments.Ici on accède simultanément aux clés et aux éléments.

28

Structures de contrôle (I)

Structures conditionnelles

if ( condition )

{

instructions;

}

if (condition)

{

instructions;

}

else

{

instructions;

}

Structures conditionnelles

if ( condition )

{

instructions;

}

if (condition)

{

instructions;

}

else

{

instructions;

}

Exemple

if (isset($v1))

{

echo "<br/>;

echo $v1." existe";

}

else

{

echo " Error";

}

Exemple

if (isset($v1))

{

echo "<br/>;

echo $v1." existe";

}

else

{

echo " Error";

}

4

29

Structures de contrôle (II)Structures de contrôle (II)

Structures répétitives

for ( init ; critère d’arrêt ; incr ) {

instructions;}

while ( condition ) { instructions;}

do {

instructions;}

while( condition );

Structures répétitives

for ( init ; critère d’arrêt ; incr ) {

instructions;}

while ( condition ) { instructions;}

do {

instructions;}

while( condition );

Exemples

$i=0;

while ($i <= count($tab1))

{

echo "<br/>";

echo $tab1[$i]." ".strlen($tab1[i]);

$i++;

}

for ($i=0;i<=count($tab1);$i++)

{

echo "<br/>";

echo $tab1[$i]." ".strlen($tab1[i]);

}

Exemples

$i=0;

while ($i <= count($tab1))

{

echo "<br/>";

echo $tab1[$i]." ".strlen($tab1[i]);

$i++;

}

for ($i=0;i<=count($tab1);$i++)

{

echo "<br/>";

echo $tab1[$i]." ".strlen($tab1[i]);

}

30

Fonctions Fonctions

Comme tout langage de programmation, php permet l’écriture de Comme tout langage de programmation, php permet l’écriture de fonctions. fonctions.

Les fonctions peuvent prendre des arguments dont il n’est pas Les fonctions peuvent prendre des arguments dont il n’est pas besoin de spécifier le type. Elles peuvent de façon optionnelle besoin de spécifier le type. Elles peuvent de façon optionnelle retourner une valeur.retourner une valeur.

L’appel à une fonction peut ne pas respecter son prototypage L’appel à une fonction peut ne pas respecter son prototypage (nombre de paramètres). Les identificateurs de fonctions sont (nombre de paramètres). Les identificateurs de fonctions sont insensibles à la casse.insensibles à la casse.

ExempleExemple

functionfunction mafonction mafonction(($toto$toto)) {{$toto += 15;$toto += 15;echo "Salut !";echo "Salut !";returnreturn ($toto+10); ($toto+10);

}}$nbr = MaFonction$nbr = MaFonction((15.115.1));;

32