28
PHP PHP Gestion des systèmes d’information Classe terminale Professeur: Mme BELLILI

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

Embed Size (px)

Citation preview

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

PHPPHP

Gestion des systèmes d’information

Classe terminale

Professeur: Mme BELLILI

Page 2: PHP Gestion des systèmes dinformation 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

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

PHPPHP

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

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

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

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

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

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

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

Éléments du langage PHP

Éléments du langage PHP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Exemple -Exemple -

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

Tableaux associatifs (II)

27

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

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

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

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

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

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

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

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