Chapitre 2 : Les
notions de base
Table des
mati res
Introduction 3
I - PHP ? 4
1.
D finition ..................................................................................................................................... 4
2.
La petite histoire .......................................................................................................................... 4
II -
Pr sentation de PHP 5
III -
Le mod le et le fonctionnement 6
IV -
Int gration du PHP dans une page Web 7
V -
Variables, types et op rateurs 8
1. Op rateurs arithm tiques ............................................................................................................. 9
2. Op rateurs d'assignement ............................................................................................................ 9
3. Op rateurs logiques ...................................................................................................................... 9
4. Op rateurs de comparaison .......................................................................................................... 9
VI -
Constantes 10
VII -
R f rences 11
VIII -
Math matiques 12
1. Quelques constantes ................................................................................................................... 12
2. Nombres al atoires : ................................................................................................................... 12
3. Formatage d'un nombre ............................................................................................................. 12
IX -
Expressions 14
X -
Bool ens 15
XI -
Cha nes de caract res 16
XII -
Affichage 18
Introduction
Pour toutes informations suppl mentaires sur tout ce qui va suivre, vous pouvez consulter la
documentation officielle de PHP.
Houcem Hedhly & Mohamed Ouali
3
PHP ?
I
D finition 4
La petite histoire 4
PHP ?
1. D finition
, est
PHP: Hypertext Preprocessor, plus connu sous son sigle
un langage de programmation libre principalement utilis pour produire
des pages Web dynamiques via un serveur HTTP, mais pouvant
galement fonctionner comme n'importe quel langage interpr t de fa on
locale. PHP est un langage imp ratif orient objet
PHP
2. La petite histoire
Le langage PHP fut cr en 1994 par Rasmus Lerdorf pour son
. C' tait l'origine
CC
une biblioth que logicielle en
dont il se servait pour conserver une trace des visiteurs qui
venaient consulter son CV. Au fur et mesure qu'il ajoutait de nouvelles fonctionnalit s,
Rasmus a transform la biblioth que en une impl mentation capable de communiquer avec des
bases de donn es et de cr er des applications dynamiques et simples pour le Web. Rasmus
d cida alors en 1995 de publier son code, pour que tout le monde puisse l'utiliser et en profiter.
PHP s'appelait alors PHP/FI (pour ersonal ome age ools/ orm nterpreter).
site webSite web
H
T
P
P
F
I
En 1997, deux tudiants, Andi Gutmans et Zeev Suraski, red velopp rent le cSur de PHP/FI.
Ce travail aboutit un an plus tard la version 3 de PHP, devenu alors PHP: Hypertext
Preprocessor. Peu de temps apr s, Andi Gutmans et Zeev Suraski commenc rent la r criture
du moteur interne de PHP. Ce fut ce nouveau moteur, appel Zend Engine - le mot Zend est la
contraction de ZEev et aNDi - qui servit de base la version 4 de PHP.
En 2002, PHP est utilis par plus de 8 millions de sites Web travers le monde, en 2007 par
plus de 20 millions et en 2013 par plus de 244 millions.
La version actuelle est la version 5, sortie le 13 juillet 2004.
La derni re mise jour est la 5.6.13 datant du 03 septembre 2015.
4
Houcem Hedhly & Mohamed Ouali
Pr sentation de PHP
Pr sentation de PHP
II
PHP est un langage interpr t (un langage de script) ex cut du c t serveur (comme les scripts
CGICGI ASPASP
, ...) et non du c t client (un script crit en JavaScript ou une applet Java
,
s'ex cute au contraire sur l'ordinateur o se trouve le navigateur).
Ses principaux atouts sont :
La gratuit et la disponibilit du code source (PHP est distribu sous licence GNU
GPLGPL
)
La simplicit d' criture de scripts
La possibilit d'inclure le script PHP au sein d'une page HTML (contrairement aux
Advertisement
scripts CGi, pour lesquels il faut crire des lignes de code pour afficher chaque ligne en
langage HTML)
La simplicit d'interfa age avec des bases de donn es (de nombreux
support s, le plus utilis avec ce langage est MySQL).
L'int gration au sein de nombreux serveurs web (Apache...)
SGBDSGBD
sont
Houcem Hedhly & Mohamed Ouali
5
Le mod le et le fonctionnement
Le mod le et le
fonctionnement
III
Dans une utilisation Web, l'ex cution du code PHP se d roule ainsi : lorsqu'un visiteur demande
consulter une page Web, son navigateur envoie une requ te au serveur HTTPServeur HTTP
correspondant. Si la page est identifi e comme un script PHP (g n ralement gr ce l'extension
PHP qui va traiter et g n rer le code final de la page
.php
), le serveur appelle l'
(constitu g n ralement d'
). Ce contenu
est renvoy au
interpr teInterpr te
HTMLHTML
, qui l'envoie finalement au client.
serveur HTTPServeur HTTP
, mais aussi souvent de
JSJavaScript
CSSCSS
et de
Une tape suppl mentaire est souvent ajout e : celle du dialogue entre PHP et la
base de donn esBase de donn es
voulu, lui transmet des requ tes et en r cup re le r sultat, avant de fermer la connexion.
. Classiquement, PHP ouvre une connexion au serveur de
SGBDSGBD
Ce sch ma explique ce fonctionnement :
6
Houcem Hedhly & Mohamed Ouali
Int gration du PHP dans une page Web
Int gration du PHP
dans une page Web
IV
Les pages web sont au format
format
de la norme XML : <?php ... ?>
.php
. Les pages web dynamiques g n r es avec PHP sont au
. Le code source php est directement ins rer dans le fichier html gr ce au conteneur
.html
Exemple
<html>
<body>
<h1>Mon premier script</h1>
<?php
Echo Bonjour;
?>
</body>
</html>
Remarque : un script php se commente comme en C
<?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.
Houcem Hedhly & Mohamed Ouali
7
Variables, types et op rateurs
Variables, types et
op rateurs
V
Le typage des variables est
au pr alable ni m me de les initialiser avant leur utilisation.
implicite
en php. Il n'est donc pas n cessaire de d clarer leur type
Les identificateurs de variable sont pr c d s du symbole $ (dollars).
Exemple
$maVar
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
castcast
(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_numeric() is_integer
,
(),
Advertisement
is_int()
,
...
is_double() is_string() is_array() is_object
,
(),
is_bool() is_float()
,
,
Compl ment : Une variable peut avoir pour identificateur la valeur d'une autre
variable.
Syntaxe : ${$var} = valeur
Exemple
$toto = "Hello";
${$toto} = 2012;
echo $Hello; // la variable $Hello vaut 2012
Attention
La port e d'une variable est limit e au bloc dans lequel elle a t cr e. Une variable locale une
fonction n'est pas connue dans le reste du programme. Tout comme une variable du programme
n'est pas connue dans une fonction. Une variable cr e dans un bloc n'est pas connue dans les autres
blocs, m mes sup rieurs.
8
Houcem Hedhly & Mohamed Ouali
Variables, types et op rateurs
1. Op rateurs arithm tiques
-
+ (addition), (soustraction), (multiplication), (division),
*
(d cr ment). Ces deux derniers peuvent tre pr ou post fix s
/
%
(modulo),
++
(incr ment),
--
2. Op rateurs d'assignement
= (affectation),
*=
($x=$y quivalent $x=$x$y),
3. Op rateurs logiques
xor
, (ou),
(et),
and,
or ||
&&
(ou exclusif), (non)
!
/= += -= %=
,
,
,
4. Op rateurs de comparaison
<
(inf rieur strict),
== ( galit ),
<=
(inf rieur large),
> >= !=
,
,
(diff rence)
Remarque
Signalons un op rateur tr s sp cial qui est quivaut une structure conditionnelle complexe if then
else
la diff rence qu'il renvoie un r sultat de valeur pouvant ne pas tre un bool en : l'op rateur
ternaire.
(condition)?(expression1):(expression2);
condition
Si la
expression2
.
est vraie alors value et renvoie l'
expression1
sinon value et renvoie l'
Exemple
$nbr = ($toto<=10)?($toto):($toto%10);
Dans cet exemple, la variable
prend
sinon vaut le reste de la division enti re de
$nbr
$toto
$toto
pour valeur si
10
.
par
$toto
est strictement sup rieur
10
,
Houcem Hedhly & Mohamed Ouali
9
Constantes
Constantes
VI
L'utilisateur 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 d'identificateur et ne sont pas
modifiables.
Syntaxe
Advertisement
define("const",val) : d finit la constante
const
(sans $) de valeur
val
Exemple
define("Auteur","Michel");
echo Auteur; // affiche Michel'
define(MY_YEAR,1980);
echo MY_YEAR; // affiche 1980
Remarque
Contrairement aux variables, les identificateurs de constantes (et aussi ceux de fonction) ne sont pas
sensibles la casse.
10
Houcem Hedhly & Mohamed Ouali
R f rences
R f rences
VII
On peut la mani re des pointeurs en
(ET commercial).
CC
faire r f rence une variable gr ce l'op rateur &
Exemple
$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 $toto qui vaut alors 101
Exemple
function change($var) {
$var++; // la fonction incr mente en local l'argument
}
$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
Houcem Hedhly & Mohamed Ouali
11
Math matiques
VIII
Math matiques
Il existe une myriade 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 l'argument de valeur maximum
pi() : retourne la valeur de Pi
Et aussi :
cos sin tan exp log min pi sqrt
,
,
,
,
,
,
,
...
1. Quelques constantes
M_PI : valeur de pi (3.14159265358979323846)
M_E : valeur de e (2.7182818284590452354)
2. 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
Conseil
L'algorithme utilis par la fonction
lent et poss de un comportement pouvant se r v ler pr visible. La fonction
- issu de vieilles biblioth ques libres - est particuli rement
quivalente
est plus rapide et plus s re puisque l'algorithme utilis se base sur la cryptographie.
mt_rand()
rand()
rand()
En cas d'utilisation de la fonction
famille :
,
mt_rand()
et
mt_rand([$x[,$y]]) mt_srand() mt_getrandmax()
.
, ne pas oublier d'utiliser les fonctions de la m me
3. Formatage d'un nombre
number_format($nbr[,$dec,[$a,[$b]]]) : retourne une cha ne de caract res repr sentant le
nombre
repr sente le symbole faisant
avec
office de virgule et
d cimales apr s formatage. La cha ne
le s parateur de milliers.
$dec
$b
$nbr
$a
Par d faut, le formatage est anglophone : $a = ''. '' et $b = '', ''.
Tr s utile pour repr senter les nombres lev s au format francophone.
12
Houcem Hedhly & Mohamed Ouali
Math matiques
Exemple
Advertisement
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
Houcem Hedhly & Mohamed Ouali
13
Expressions
Expressions
IX
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
). L'inconv nient est l'illisibilit du code ainsi crit sauf
le commenter suffisamment. Il faut donc les construire avec parcimonie et ne pas h siter les
fractionner.
CC
Exemple
echo change( $nbr += ($toto>0)?(0):(--$toto) );
Attention
Attention utiliser les parenth ses en fin de palier aux priorit s des op rateurs.
14
Houcem Hedhly & Mohamed Ouali
Bool ens
Bool ens
X
(faux). Une valeur
Les variables bool ennes prennent pour valeurs
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'
en l'entier 0 lui m me cast
en FALSE.
(vrai) et
cast escast
FALSE
TRUE
Exemple
if(0) echo 1; // faux
if('''') echo 2; // faux
if(''0'') echo 3; // faux
if(''00'') echo 4;
if('0') echo 5; // faux
if('00') echo 6;
if('' '') echo 7;
Cet exemple affiche 467. Donc l'espace ou la cha ne '00'' ne sont pas consid r s cast s en FALSE.
Houcem Hedhly & Mohamed Ouali
15
Cha nes de caract res
Cha nes de caract res
XI
Une variable cha ne de caract res n'est pas limit e en nombre de caract res. Elle est toujours
d limit e par des simples quotes ou des doubles quotes.
Exemple
$nom = ''Hugo'';
$prenom = Victor';
Les doubles quottes permettent l' valuation des variables et caract res sp ciaux contenus dans
la cha ne (comme en
) alors que les simples ne le permettent pas.
ShellShell
ou en
CC
Exemple
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).
Op rateur de concat nation de cha nes
. (point)
Exemple
$foo = ''Hello'';
$bar = ''World'';
echo $foo.$bar;
$name = ''Henry'';
$whoiam = $name. ''IV'';
$out = Patati';
$out .= '' et patata...'';
Quelques fonctions
strlen($str) : retourne le nombre de caract res d'une 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
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
16
Houcem Hedhly & Mohamed Ouali
Cha nes de caract res
addslashes($str) : d sp cialise les caract res sp ciaux (, ', \)
ord($char) : retourne la valeur ASCII du caract re $char
Houcem Hedhly & Mohamed Ouali
17
Affichage
XII
Affichage
Les fonctions d'affichage :
echo() : criture dans le navigateur
print() : criture dans le navigateur
printf([$format, $arg1, $arg2]) : criture format e comme en C, la cha ne de caract re est
constante et contient le format d'affichage des variables pass es en argument
18
Houcem Hedhly & Mohamed Ouali