PHP - Notions de base

Institut Supérieur des Études Technologiques
1/8
100%
Rendu du PDF...
Page 1 sur 8Lecteur de document UniversityLib

PHP - Notions de base

Institut Supérieur des Études Technologiques · Server-side scripting languages · lab

Browse all développement web documents

Chapitre II : PHP - Notions de base

I. La petite histoire du PHP

Il a t cr en 1994 par Rasmus Lerdorf pour les besoins des pages web personnelles (livre

dor, compteurs, etc.). A l poque, PHP signifiait Personal Home Page.

Cest un langage incrust au HTML et interpr t (PHP3) ou compil (PHP4) c t serveur. Il

d rive du C et du Perl dont il reprend la syntaxe. Il est extensible gr ce de nombreux

modules et son code source est ouvert. Comme il supporte tous les standards du web et quil

est gratuit, il sest rapidement r pandu sur la toile.

En 1997, PHP devient un projet collectif et son interpr teur est r crit par Zeev Suraski et

Andi Gutmans pour donner la version 3 qui sappelle d sormais PHP : Hypertext

Preprocessor.

En 2002, PHP est utilis par plus de 8 millions de sites Web travers le monde et en 2007 par

plus de 20 millions.

La version actuelle est la version 5, sortie le 13 juillet 2004. La derni re mise jour est la

5.6.14 datant du 1 octobre 2015. La prochaine version : PHP 6 est en d veloppement.

Il existe par ailleurs des applications web pr tes lemploi (PHPNuke, PHP SPIP,

PHPSlash&) permettant de monter facilement et gratuitement son portail. En juillet 2000 plus

de 300.000 sites tournaient d j sous PHP !

II. Mod le

III. Int gration dun script dans une page

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

format php. Le code source php est directement ins r dans le fichier html gr ce au conteneur

de la norme XML : <?php & ?>

Exemple:

1 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

R sultat affich par le navigateur

<html>

<body>

<?php

echo "Bonjour";

?>

</body>

</html>

Exemple de script

<html>

<body>

</body>

</html>

IV. Commentaires

Un script php se commente comme en C :

Exemple :

<?php

// commentaire de fin de ligne

/* commentaire

sur plusieurs

lignes */

commentaire de fin de ligne comme en Shell

?>

Tout ce qui se trouve dans un commentaire est ignor . Il est conseill de commenter

largement ses scripts.

V. Variables, types et op rateurs

Le typage des variables est implicite en php. Il nest donc pas n cessaire de d clarer leur type

au pr alable ni m me de les initialiser avant leur utilisation.

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

2 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

Advertisement

Exemple : $toto.

Les variables peuvent tre de type entier (integer), r el (double), cha ne de caract res

(string), tableau (array), objet (object), bool en (boolean).

Il est possible de convertir une variable en un type primitif gr ce au cast1 (comme en C).

Exemple :

$str = "12";

// $str vaut la cha ne "12"

$nbr = (int)$str;

// $nbr vaut le nombre 12

Quelques fonctions :

empty($var) : renvoie vrai si la variable est vide

isset($var) : renvoie vrai si la variable existe

unset($var) : d truit une variable

gettype($var) : retourne le type de la variable

settype($var, "type") : convertit la variable en type type (cast)

is_long(), is_double(), is_string(), is_array(), is_object(), is_bool(), is_float(),

is_numeric(), is_integer(), is_int()&

Une variable peut avoir pour identificateur la valeur dune autre variable.

Syntaxe : ${$var} = valeur;

Exemple :

$toto = "Hello";

${$toto} = 2012;

echo $Hello;

// la variable $Hello vaut 2012

La port e dune variable est limit e au bloc dans lequel elle a t cr e. Une variable locale

une fonction nest pas connue dans le reste du programme. Tout comme une variable du

programme nest pas connue dans une fonction. Une variable cr e dans un bloc nest pas

connue dans les autres blocs, m mes sup rieurs.

Op rateurs arithm tiques :

+ (addition), - (soustraction), * (multipli ), / (divis ), % (modulo), ++ (incr ment),

-- (d cr ment). Ces deux derniers peuvent tre pr ou post fix s

Op rateurs dassignement :

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

Op rateurs logiques :

and, && (et), or, || (ou), xor (ou exclusif), ! (non)

Op rateurs de comparaison :

== ( galit ), < (inf rieur strict), <= (inf rieur large), >, >=, != (diff rence)

1 Le cast est une conversion de type. Laction de caster consiste en convertir une variable dun

type un autre.

3 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

Signalons un op rateur tr s sp cial qui quivaut une structure conditionnelle complexe if

then else la diff rence quil renvoie un r sultat de valeur pouvant ne pas tre un bool en :

lop rateur ternaire.

Syntaxe :

(condition)?(expression1):(expression2);

Si la condition est vrai alors value et renvoie lexpression1 sinon value et renvoie

lexpression2.

Exemple :

$nbr = ($toto>10)?($toto):($toto%10);

Dans cet exemple, la variable $nbr prend $toto pour valeur si $toto est strictement sup rieur

10, sinon vaut le reste de la division enti re de $toto par 10.

VI. Constantes

Lutilisateur peut d finir des constantes dont la valeur est fix e une fois pour toute. Les

constantes ne portent pas le symbole $ (dollars) en d but didentificateur et ne sont pas

modifiables.

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

Exemple 1 :

Advertisement

define("Auteur","Michel");

echo Auteur;

// affiche Michel

Exemple 2 :

define(MY_YEAR,1980);

echo MY_YEAR;

// affiche 1980

Contrairement aux variables, les identificateurs de constantes (et aussi ceux de fonction) ne

sont pas sensibles la casse.

VII. R f rences

On peut la mani re des pointeurs en C faire r f rence une variable gr ce lop rateur &

(ET commercial).

Exemple 1 :

$toto = 100;

// la variable $toto est initialis e la valeur 100

$test = &$toto; // la variable $test fait r f rence $toto

$toto++;

// on change la valeur de $toto

echo $test;

// qui est r percut e sur $test qui vaut alors 101

Exemple 2 :

4 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

function change($var) {

$var++;

// la fonction incr mente en local largument

}

$nbr = 1;

// la variable $nbr est initialis e 1

change(&$nbr);

// passage de la variable par r f rence

echo $nbr;

// sa valeur a donc t modifi e

VIII. Math matiques

Il existe une miriade de fonctions math matiques.

abs($x) : valeur absolue

ceil($x) : arrondi sup rieur

floor($x) : arrondi inf rieur

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

round($x,$i) : arrondi de x la i me d cimale

max($a, $b, $c &) : retourne largument de valeur maximum

pi() : retourne la valeur de Pi

Et aussi : cos, sin, tan, exp, log, min, pi, sqrt&

Quelques constantes :

M_PI : valeur de pi (3.14159265358979323846)

M_E : valeur de e (2.7182818284590452354)

Nombres al atoires :

rand([$x[,$y]) : valeur enti re al atoire entre 0 et RAND_MAX si x et y ne sont pas

d finis, entre x et RAND_MAX si seul x est d fini, entre x et y si ces deux param tres

sont d finis.

srand() : initialisation du g n rateur al atoire

getrandmax() : retourne la valeur du plus grand entier pouvant tre g n r

L'algorithme utilis par la fonction rand() - issu de vieilles biblioth ques libcs - est

particuli rement lent et poss de un comportement pouvant se r v ler pr visible. La fonction

mt_rand() quivalente rand() est plus rapide et plus s re puisque l'algorithme utilis se

base sur la cryptographie.

En cas dutilisation de la fonction mt_rand(), ne pas oublier dutiliser les fonctions de la

m me famille : mt_rand([$x[,$y]]), mt_srand() et mt_getrandmax().

Advertisement

Formatage dun nombre :

number_format ($nbr[,$dec,[$a,$b]]) : retourne une cha ne de caract res repr sentant le

nombre $nbr avec $dec d cimales apr s formatage. La cha ne $a repr sente le symbole

faisant office de virgule et $b le s parateur de milliers.

5 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

Par d faut, le formatage est anglophone : $a = ''. '' et $b = '', ''.

Tr s utile pour repr senter les nombres lev s au format francophone.

Exemples :

number_format (1000000.3333);

// affiche 1,000,000

number_format (1000000.3333,2);

// affiche 1,000,000.33

number_format (1000000.3333,2,",",".");

// affiche 1.000.000,33

IX. Expressions

Presque tout en php est une expression. On les construit de fa on tr s souple. De fa on

r duire la taille du code (comme en C). Linconv nient est lillisibilit du code ainsi crit sauf

le commenter suffisamment. Il faut donc les construire avec parcimonie et ne pas h siter

les fractionner.

Exemple :

echo change( $nbr += ($toto>0)?(0):(--$toto) );

Attention utiliser les parenth ses afin de pallier aux priorit s des op rateurs.

X. Bool ens

Les variables bool ennes prennent pour valeurs TRUE (vrai) et FALSE (faux). Une valeur

enti re nulle est automatiquement consid r e comme FALSE. Tout comme une cha ne de

caract res vide "". Ou encore comme les cha nes "0" et 0 cast es en lentier 0 lui m me

cast en FALSE.

Exemple :

if(0) echo 1;

// faux

if('''') echo 2;

if(''0'') echo 3;

if(''00'') echo 4;

// faux

// faux

if('0') echo 5; // faux

if('00') echo 6;

if('' '') echo 7;

Cet exemple affiche 467. Donc lespace ou la cha ne 00 ne sont pas consid r s cast s en

FALSE.

XI. Cha nes de caract res

Une variable cha ne de caract res nest pas limit e en nombre de caract res. Elle est toujours

d limit e par des simples quotes ou des doubles quotes.

Exemples :

6 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

$nom = ''Hugo'';

$prenom = Victor;

Les doubles quottes permettent l valuation des variables et caract res sp ciaux contenus dans

la cha ne (comme en C ou en Shell) alors que les simples ne le permettent pas.

Exemples :

echo ''Nom: $nom''; // affiche Nom: Hugo

echo Nom: $nom; // affiche Nom: $nom

Quelques caract res sp ciaux : \n (nouvelle ligne), \r (retour la ligne), \t (tabulation

horizontale), \\ (antislash), \$ (caract re dollars), \ (double quote).

Exemple : echo ''Hello Word !\n'';

Advertisement

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

Exemple 1 :

$foo = ''Hello'';

$bar = ''Word'';

echo $foo.$bar;

Exemple 2 :

$name = ''Henry'';

$whoiam = $name. ''IV'';

Exemple 3 :

$out = Patati;

$out .= '' et patata&'';

Affichage dune cha ne avec echo:

Exemples:

echo Hello Word.;

echo ''Hello ${name}\n'';

echo ''Nom : '', $name;

echo(''Bonjour'');

Quelques fonctions:

strlen($str) : retourne le nombre de caract res dune cha ne

strtolower($str) : conversion en minuscules

strtoupper($str) : conversion en majuscules

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

7 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur

Chapitre II : PHP - Notions de base

substr($str,$i,$j) : retourne une sous cha ne de $str de taille $j et d butant la

position $i

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

addslashes($str) : d sp cialise les caract res sp ciaux (, , \)

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

On peut d limiter les cha nes de caract res avec la syntaxe Here-doc.

Exemple :

$essai = <<<EOD

Ma cha ne ''essai''

sur plusieurs lignes.

EOD;

echo $essai;

La valeur de la variable $essai est d limit e par un identifiant que vous nommez librement.

La premi re apparition de cet identifiant doit tre pr c d e de 3 signes inf rieurs <. Sa

deuxi me apparition doit se faire en premier sur une nouvelle ligne. Cette valeur cha ne se

comporte comme si elle tait d limit e par des doubles quotes dans le sens o les

variables seront valu es. Par contre il est inutile d chapper les guillemets, cest- -dire que la

d sp cialisation des doubles quotes devient inutile.

XII. Affichage

Les fonctions daffichage :

echo() : criture dans le navigateur

print() : criture dans le navigateur

printf([$format, $arg1, $arg2]) : criture format e comme en C, i.e. la cha ne de

caract re est constante et contient le format daffichage des variables pass es en

argument

Exemples :

echo ''Bonjour $name'';

print(''Bonjour $name'');

printf(''Bonjour %s'', $name);

8 Enseignants : Ouali Mohamed et Hedhli Houssem ISET de Bizerte

Classes : DSI2 Mati re : Pgt c t serveur