Академический Документы
Профессиональный Документы
Культура Документы
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 2
Introduction
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 3
Introduction
Dveloppement Web 1
Les bases du PHP Slide 4
Introduction
Dveloppement Web 1
Les bases du PHP Slide 5
Exemple : exemple.php
<?php echo 'Bonjour tout le monde !' ; ?> Rangement du fichier Sur votre station :
C:\Program Files\EasyPHP1-8\www\exemple0.php
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 6
Les
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 7
Dveloppement Web 1
Les bases du PHP Slide 8
Exemple de scripts
Soit la page nomme index.php:
Code source
Code source
(cot serveur)
(cot client)
(cot client)
On remarque que les balises PHP qui existent sur la page dorigine (cot serveur) ont disparu au cot client => confidentialit du code PHP ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 9
Nous avons ajout la balise font en HTML pour formater le texte En fait PHP ne fait pas le formatage, il faut utiliser HTML pour a
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 10
?>
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 11
echo :
devient plus intressante avec des variables : exemple3.php
<?php
for ($i=1; $i<=6;$i++) { echo "<br>"; echo "<font size= $i >"; echo "voici une commande <b>echo</b> avec des <i>balises</i>html"; }
?>
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 12
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 13
Sparateur dinstructions
Sparateur dinstructions
Comme en C une instruction se termine par un point-virgule
; .
Exemple :
<?php echo "Ceci est un test"; ?> Ou : <?php echo "Ceci est un test" ?>
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 14
Bloc dinstructions
Bloc dinstructions
Un bloc d'instructions se place entre accolades { et }.
Exemple.php
<?php
for ($i=1; $i<=6;$i++) { echo "<br>"; echo "$i"; }
?>
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 15
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 16
Les variables
Les variables En PHP le typage des variable est implicite. Il nest donc pas ncessaire de dclarer les types ni dinitialiser les variables. Il est mme possible daffecter une variable des valeurs de types diffrents dans le mme script. Les identificateurs de variables sont prcdes par le symbole $ Exemple:
$nom=ENSA; $c=$a+$b;
Dveloppement Web 1
Les bases du PHP Slide 17
Les constantes
Les Constantes Les constantes PHP ne sont prfixes par aucun symboles. Elles
sont dclare de la faon suivante:
define(id_constante,valeur); // ou bien define(id_constante, valeur); Exemple: define(nom, ENSA);
Dans ce cas la constante nom vaut la valeur ENSA Les constantes ne sont dfinie quune seule fois dans le script.
Leurs valeurs reste inchanges et leurs identificateurs ne sont pas sensibles la casse (contrairement aux variables).
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 18
Les oprateurs
Oprateurs arithmtiques :
+ (addition), - (soustraction), * (multipli), / (divis), % (modulo), ++ (incrment), --(dcrment).
Oprateurs dassignement :
= (affectation), *= ($x*=$y quivalent $x=$x*$y), /=, +=, -=, %=
Oprateurs logiques :
and, && (et), or, || (ou), xor (ou exclusif), ! (non)
Oprateurs de comparaison :
== (galit), < (infrieur strict), <= (infrieur large), >, >=, != (diffrence)
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 19
Les oprateurs
Oprateurs arithmtiques
Le modulo :
renvoie le reste de la division 15%2 : renvoie 1 $i++ : quivalent $i = $i+1 $i-- : quivalent $i = $i-1 ++$i : la variable est incrmente puis value $i++ : la variable est value puis incrmente $i +=5 : quivalent : $i = $i+5, de mme pour *=, -=, /=
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 20
Les oprateurs
Oprateurs logiques
Exemple $a and $b $a or $b $a xor $b Rsultat Vrai si $a ET $b sont vrais Vrai si $a OU $b est vrai Vrai si $a OU $b est vrai, mais pas les deux en mme temps ! $a NON ( Not ) Vrai si $a est faux $a && $b ET ( And ) Vrai si $a ET $b sont vrais $a || $b OU ( Or ) Vrai si $a OU $b est vrai La raison pour laquelle il existe deux types de "ET" et de "OU" est qu'ils ont des priorits diffrentes Nom ET ( And ) OU ( Or ) XOR ( Xor )
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 21
Les oprateurs
Il existe un oprateur trs spcial qui quivaut une structure
conditionnelle complexe if then else la diffrence quil renvoie un rsultat de valeur pouvant ne pas tre un boolen : loprateur ternaire.
Syntaxe : (condition)?(expression1):(expression2);
Si la condition est vrai alors value et renvoie lexpression1
sinon value et renvoie lexpression2.
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 22
Les rfrences
Exemple :
$var1 = 100;
// la variable $var1 est initialise la //valeur 100
// on change la valeur de $var1 // qui est rpercute sur $var2 qui // vaut alors 101
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 23
Dveloppement Web 1
Les bases du PHP Slide 24
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 25
Mathmatiques
PHP dispose dune grande srie de fonctions mathmatiques. Quelques fonctions: abs($x) : renvoie la valeur absolue de $x ceil($x) : arrondi suprieur floor($x) : arrondi infrieur pow($x,$y) : x exposant y round($x,$i) : arrondi de x la ime dcimale max($a, $b, $c ) : retourne largument de valeur maximum min($a, $b, $c ) : retourne largument de valeur minimum pi() : retourne la valeur de PI Et aussi : cos, sin, tan, exp, log, sqrt ainsi que des
constantes tels que M_PI, M_E
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 26
Mathmatiques
Nombres alatoires La fonction rand($x,$y) permet de gnrer un nombre alatoire compris entre $x et $y sils sont dclars sinon gnre un nombre alatoire compris entre 0 et RAND_MAX srand() initialise le gnrateur alatoire getrandmax() retourne la valeur du plus grand entier pouvant tre gnr.
donc un comportement qui peut tre prvisible. La nouvelle fonction mt_rand() est base sur la cryptographie. Elle est plus rapide et plus imprvisible. Les fonctions qui drivent de la mme famille sont mt_srand() et mt_getrandmax().
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 27
Mathmatiques
Exemples: number_format (1000000.3333); // affiche 1,000,000 number_format (1000000.3333,2); // affiche 1,000,000.33 number_format(1000000.3333,2,",",".");//affiche1.000.000,33
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 28
Chanes de caractre
nombre de caractres. Elle est toujours dlimite par des simples quotes () ou des doubles quotes (). Exemples : $etablissement = ENSA; $ville = Khouribga;
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 29
Chanes de caractre
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 30
Chanes de caractre
Affichage echo est la fonction daffichage la plus utilise en PHP. Exemple: echo Bonjour // Affiche Bonjour
Exemple:
Printf(ENSA %s,Khouribga); // imprime ENSA
Khouribga
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 31
Chanes de caractre
Affichage suite On peut afficher des chanes de caractres stalant sur plusieurs lignes en utilisant la syntaxe suivante: $str = <<<EOD Cette syntaxe permet de dclarer une chane de caractres qui occupe plusieurs ligne EOD; echo $str; // Cette syntaxe permet de dclarer une // chane de caractres qui occupe plusieurs lignes
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 32
Chanes de caractre
Quelques fonctions strlen($str) : retourne la taille de la chane $str en caractres. strtolower($str) : conversion en minuscules strtoupper($str) : conversion en majuscules ucfirst($str) : convertit la premire lettre en majuscule trim($str) : suppression des espaces de dbut et de fin de chane substr($str,$i,$j) : retourne une sous chane de $str de taille $j et dbutant la position $i addslashes($str) : dspcialise les caractres spciaux ord($char) : retourne la valeur ASCII du caractre $char
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 33
Structures conditionnelles
if( condition1 ) { traitement 1 } elseif(condition 2-1) { traitement 2-1 } else { traitement 2-2 }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 34
Dveloppement Web 1
Les bases du PHP Slide 35
Dveloppement Web 1
Les bases du PHP Slide 36
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 37
Les tableaux
dynamiques qui seront exploits par les scripts PHP. Un tableau array est temporaire et ne reste gnr que le temps du droulement du script. Les tableaux array servent souvent stoker les donnes provenant dune base de donnes en attendant le traitement. Elles permettent aussi aux fonctions de retourner plusieurs rsultats au lieu dune seule.
Remarque:
les tableaux dynamiques ou arrays n'ont rien voir avec les
tableaux HTML, qui servent la mise en forme des donnes de la page Web.
Y. KHAMLICHI
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 38
Les tableaux
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 39
Les tableaux
Mthode 3: (initialisation directe implicite)
$tableau[]=$val0; (sous-entend $tableau[0]=$val0) $tableau[]=$val1; (sous-entend $tableau[1]=$val1) $tableau[]=$val2;
$i=0; while($i <= count($tab)) // count() retourne le nombre dlments { echo $tab[$i].<br>; $i++; }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 40
Les tableaux
Parcours dun tableau La mthode la plus simple pour parcourir un tableau consiste lutilisation de la boucle foreach La syntaxe est la suivante:
foreach($tableau as $element) { traitement; } La variable $element prend pour valeurs successives tous les lments du tableau nomm $tableau. Exemple: foreach($tab as $elem) { echo $elem.<br>; }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 41
Les tableaux
Fonctions manipulant les tableaux count(), sizeof() : retournent le nombre dlments du tableau in_array($var,$tab) : dit si la valeur de $var existe dans le tableau
$tab list($var1,$var2) : transforme un tableau en liste de variables. range($i,$j) : retourne un tableau contenant un intervalle de valeurs shuffle($tab) : mlange les lments dun tableau sort($tab) : trie alphanumrique les lments du tableau rsort($tab) : trie alphanumrique inverse les lments du tableau implode($str,$tab), join : retournent une chane de caractres contenant les lments du tableau $tab joints par la chane de jointure $str explode($delim,$str) : retourne un tableau dont les lments proviennent de la chane $str et dont le dlimiteur est $delim array_merge($tab1,$tab2,$tab3) : concatne les tableaux passs en arguments array_rand($tab) : retourne un lment du tableau au hasard
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 42
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 43
Exemple 1 :
Exemple 2 :
Dveloppement Web 1
Les bases du PHP Slide 44
Quelques fonctions
array_count_values($tab) : retourne un tableau associatif contenant les valeurs du tableau $tab comme cls et leurs frquence comme valeur (utile pour valuer les redondances) array_keys($tab) : retourne un tableau contenant les cls du tableau associatif $tab array_values($tab) : retourne un tableau contenant les valeurs du tableau associatif $tab array_search($val,$tab) : retourne la cl associe la valeur $val
Llment dun tableau peut tre un autre tableau. Les tableaux associatifs permettent de prserver une
structure de donnes.
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 45
Exemple :
$colors = array(red, green, blue); $nbr = count($colors); reset($colors); for($i=1; $i<=$nbr; $i++) { echo current($colors).<br>; next($colors); }
Y. KHAMLICHI
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 46
Les fonctions
Une fonction est un sous-programme qui permet d'effectuer un ensemble
d'instructions par simple appel dans le corps du programme principal. Comme tout langage de programmation. PHP permet lcriture des fonction. La syntaxe est la suivante:
function ma_fonction($argument1, $argument2,) { Liste des instructions; Return ($valeur_de_retour); }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 47
Les fonctions
Variable locale et variable globale dune fonction Toute variable dclare au sein dune fonction est de porte locale de cette fonction. Elle nest pas reconnue dans le reste du programme. global permet de travailler sur une variable de porte globale au programme. Le tableau associatif $GLOBALS permet daccder aux variables globales du script ($GLOBALS[var] accde la variable $var).
Exemple :
function change() { global $var; // dfinit $var comme globale $GLOBALS[toto] ++; // incrmente la variable globale $toto $var++; // cela sera rpercut dans le reste du programme }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 48
Les fonctions
On peut donner une valeur par dfaut aux arguments lors de la
dclaration de la fonction. Exemple :
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 49
Les fonctions
Mme sans paramtre, un entte de fonction doit porter des parenthses (
). Les diffrents arguments sont spars par une virgule et le corps de la fonction est dlimit par des accolades { }.
Quelques exemples :
function afficher($str1, $str2) { // passage de deux paramtres echo $str1, $str2; }
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 50
Les fonctions
En version 3 du PHP (version interprte), une fonction ne peut
tre appele quaprs sa dfinition. En version 4 et 5 (compiles) une fonction peut tre appele avant sa dfinition.
Exemple :
function f1() { // dfinition de la fonction f1 echo fonction f1; } f1(); // appel de la fonction f1 dfinie plus haut f2(); // appel de la fonction f2 pas encore dfinie function f2() { // dfinition de la fonction f2 echo fonction f2; }
Dveloppement Web 1
Les bases du PHP Slide 51
Les fonctions
Il est possible de faire retourner plusieurs valeurs dune fonction
en utilisant les tableaux ayant pour lments les variables retourner. Dans lappel de la fonction, il faudra alors utiliser la procdure list() qui prend en paramtre les variables qui ont doit affecter les valeurs retournes. On affecte list() le retour de la fonction.
Exemple :
function trigo($nbr) { return array(sin($nbr), cos($nbr), tan($nbr)); // retour dun // tableau } $r = M_PI; list($a, $b, $c) = trigo($r); /* affectation aux variables $a,$b et $c des lments du tableau retourn par la fonction trigo */
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 52
Les inclusions
On peut inclure dans un script PHP le contenu dun autre fichier. require insert dans le code le contenu du fichier spcifi mme si ce nest
pas du code php. ( quivalent au prprocesseur #include du C )
Syntaxe:
require(fichier.php);
Syntaxe:
include(fichier.php);
Les inclusions sont trs utiles lors de lappel dune base de donne. Les
paramtres de connexions sont stocks sur un fichiers part.
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 53
Arrt prmatur
Pour stopper prmaturment un script, il existe deux fonctions. die arrte un script et affiche un message derreur dans le navigateur. Exemple :
if(mysql_query($requette) == false) die(Erreur de base de donnes la requte);
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 54
Les sessions
le serveur tandis quun identifiant de session est post sous la forme dun cookie chez le client.
Y. KHAMLICHI
ENSA-Khouribga
Dveloppement Web 1
Les bases du PHP Slide 55
Les sessions
Fonctions
session_start() : dmarre une session session_destroy() : dtruit les donnes de session et ferme la session
utilisent les variables de sessions et doit tre dclare avant tout envoie au navigateur du client.
Exemple:
$_SESSION[etablissement]=ENSA;
ENSA-Khouribga
Y. KHAMLICHI
Dveloppement Web 1
Les bases du PHP Slide 56
Variables denvironnement
Les variables d'environnement sont, comme leur nom l'indique, des
donnes permettant au programme d'avoir des informations sur son environnement. L'environnement dans le cas du script PHP est :
Le client Le serveur Les variables denvironnement permettent d'avoir des informations sur
le type de serveur, lemplacement de la page en cours (larborescence sur le serveur), la date laquelle le script a t appel, l'adresse IP du client, nom du hte client, le type de navigateur du client, la page qui a renvoy le navigateur au script en cours
Dveloppement Web 1
Les bases du PHP Slide 57
Variables denvironnement
Quelques variables $HTTP_HOST: nom d'hte de la machine du client $HTTP_REFERER: URL de la page qui a appel le script PHP (cette variable permet de connatre le site web qui a renvoy le client sur la page en cours: le moteur de recherche utilis par exemple) $HTTP_USER_AGENT: permet d'avoir des informations sur le type de navigateur utilis par le client, ainsi que son systme d'exploitation. $REMOTE_ADDR: contient ladresse IP du client appelant le script $DOCUMENT_ROOT: chemin de la page en cours sur le serveur $SERVER_ADDR: contient ladresse IP du serveur $DATE_GMT: date et heure actuelle au format GMT $DATE_LOCAL: date et heure actuelle au format local