PHP: Hypertext Preprocessor Guide

Programming Languages · notes

Browse all développement web documents

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