Les classes :
class
Une
classe
est
une
collection
de
variables
et
de
fonctions
qui
fonctionnent
avec
ces
variables
.
Une
classe
est
définie
en
utilisant
la
syntaxe
suivante
:
L'
exemple
ci-dessus
définit
la
classe
Caddie
qui
est
composée
d
'un
tableau
associatif
contenant
les
articles
du
panier
et
de
deux
fonctions
,
une
pour
ajouter
et
une
pour
enlever
des
éléments
au
panier
.
Attention
|
Les
notes
suivantes
ne
sont
valable
que
pour
PHP
4
.
Le
nom
stdClass
est
utilisé
en
interne
par
Zend
et
ne
doit
pas
être
utilisé
.
Vous
ne
pouvez
pas
nommer
une
classe
stdClass
en
PHP
.
Les
noms
de
fonctions
__sleep
et
__wakeup
Les
noms
de
fonctions
__sleep
et
__wakeup
sont
magiques
en
PHP
.
Vous
ne
pouvez
pas
utiliser
ces
noms
de
fonctions
dans
vos
classes
,
à
moins
que
vous
ne
souhaitiez
utiliser
la
magie
qui
y
est
associée
.
PHP
se
réserve
l
'
usage
de
tous
les
noms
de
fonctions
commençants
par
__
,
pour
sa
propre
magie
.
Il
est
vivement
recommandé
de
ne
pas
utilser
des
noms
de
fonctions
commençants
par
__
,
à
moins
que
vous
ne
souhaitiez
utiliser
la
magie
qui
y
est
associée
.
|
En
PHP
4
,
seuls
les
initialiseurs
constants
pour
les
variables
var
sont
autorisés
.
Utilisez
les
constructeurs
pour
les
initialisations
variables
,
ou
utilisant
des
expressions
.
Les
classes
forment
un
type
de
variable
.
Pour
créer
une
variable
du
type
désiré
,
vous
devez
utiliser
l
'
opérateur
new
.
L'
instruction
ci-dessus
crée
l
'objet
$cart
de
la
class
Caddie
.
La
fonction
add_idem(
)
est
appelée
afin
d'ajouter
l
'article
numéro
10
dans
le
panier
.
3
articles
numéro
0815
sont
ajoutés
au
cart
$another_cart
.
$cart
et
$another_cart
disposent
des
fonctions
add_item(
)
,
remove_item(
)
et
de
la
variable
items
.
Ce
sont
des
fonctions
et
variables
distinctes
.
Vous
pouvez
vous
représenter
les
objets
comme
des
dossiers
sur
votre
disque
dur
.
Vous
pouvez
avoir
deux
fichiers
"
lisez-moi.txt
"
sur
votre
disque
dur
,
tant
qu
'ils
ne
sont
pas
dans
le
même
répertoire
.
De
même
que
vous
devez
alors
taper
le
chemin
complet
jusqu'
au
fichier
,
vous
devez
spécifier
le
nom
complet
de
la
méthode
avant
de
l'employer
:
en
termes
PHP
,
le
dossier
racine
est
l
'espace
de
nom
global
,
et
le
séparateur
de
dossier
est
-
.
Par
exemple
,
les
noms
$cart
-
items
et
$another_cart
-
items
représentent
deux
variables
distinctes
.
Notez
que
le
nom
de
la
variable
est
alors
$cart
-
items
,
et
non
pas
$cart
-
$items
:
il
n'
y
a
qu
'un
seul
signe
$
dans
un
nom
de
variable
.
A
l'
intérieur
d'une
définition
de
classe
,
vous
ne
savez
pas
le
nom
de
la
variable
à
partir
duquel
l
'objet
sera
accessible
dans
le
script
.
On
ne
peut
prévoir
que
l
'
objet
créé
sera
affecté
à
la
variable
$cart
ou
$another_cart
.
Donc
,
vous
ne
pouvez
pas
utiliser
la
syntaxe
$cart
-
items
.
Mais
pour
pouvoir
accéder
à
aux
méthodes
et
membres
d'
un
objet
,
vous
pouvez
utiliser
la
variable
spéciale
$this
,
qui
peut
s'interpréter
comme
'moi-même'
,
ou
bien
'l'objet
courant
'
.
Par
exemple
,
'
$this
-
items[$artnr
]
+=
$num
;
'
peut
se
lire
comme
'ajouter
$num
au
compteur
$artnr
de
mon
propre
tableau
de
compteur
'
ou
bien
'ajouter
$num
au
compteur
$artnr
du
tableau
de
compteurs
de
l'objet
courant
'
.