I. Introduction▲
Apprenez à utiliser le langage PHP pour développer des sites Web dynamiques grâce, notamment, à l'interaction facile de ce langage avec les bases de données.
Ce langage est idéal pour créer des blogs ou des forums de discussion.
Avec la méthode "Développement Facile", vous allez pouvoir créer des sites Web dynamiques avec du contenu évolutif et une maintenance facilitée.
Retrouvez un extrait de la formation "PHP Facile", composée de plus de 30 cours professionnels pour vous aider à progresser rapidement avec la maîtrise du langage PHP.
II. Découvrez le côté pratique des interfaces en PHP▲
Encore un concept orienté objet : les interfaces.
Découvrez une présentation des interfaces et de leur utilité.
Ci-dessous, l'exemple de code.
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
/**
*
Définition
d
'
une
interface
.
*
*/
interface read_write
{
//
deux
méthodes
pour
accéder
à
l'objet
/**
*
Renvoie
la
valeur
*
@return
[
type
]
[
description
]
*/
public function getValue();
/**
*
Met
à
jour
la
valeur
*
@return
[
type
]
[
description
]
*/
public function setValue( $
sVal
);
}
/**
*
Définition
d
'
une
classe
qui
implémente
une
interface
.
*
La
classe
FileEdit
possède
donc
toutes
les
méthodes
de
l
'
interface
read_write
*
*/
class FileEdit implements read_write
{
//
la
valeur
private $
sValeur
;
/**
*
le
constructeur
*
@param
[
type
]
$
prenom
[
description
]
*
@param
[
type
]
$
nom
[
description
]
*/
public function __construct($
valeur
)
{
$this
->sValeur
=
$
valeur
;
}
/**
*
Implémentation
de
la
méthode
d
'
écriture
.
*
@param
[
type
]
$
valeur
[
description
]
*/
public function setValue($
valeur
)
{
$this
->sValeur
=
$
valeur
;
}
/**
*
Implémentation
de
la
méthode
de
lecture
.
*
@param
[
type
]
$
valeur
[
description
]
*/
public function getValue()
{
return $this
->sValeur
;
}
}
//
Utilisation
de
la
classe
fille.
$objet
=
new FileEdit("
Hello
You
"
);
echo $objet
->getValue
().
"
<
br
/
>
"
;
$objet
->setValue
("
Bonjour
"
);
echo $objet
->getValue
().
"
<
br
/
>
"
;
?>
III. À quoi servent les méthodes static en php▲
Découvrez dans cette vidéo le secret du paramètre static.
À utiliser devant une variable, une constante ou une méthode.
Ci-dessous, l'exemple de code.
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
/**
*
Définition
d
'
une
classe
.
*/
class Utils
{
//
Attribut
privé
quelconque.
private $
sValeur
;
//
Attribut
privé
statique
pour
stocker
le
nombre
d'objets
instanciés.
static private $
iNombre
=
0
;
static public $
iMulti
=
10
;
//
Constante
de
classe
pour
définir
une
valeur
par
défaut.
const DEFAUT =
"
NOT_USE
"
;
/**
*
Fonction
publique
statique
qui
retourne
le
nombre
d
'
objets
de
la
classe
.
*
@return
[
type
]
[
description
]
*/
static public function getNombreObjects()
{
return Utils:
:
$
iNombre
;
}
/**
*
Le
constructeur
*
*
récupère
la
valeur
de
l
'
attribut
(
valeur
par
défaut
=
la
constante
de
classe
)
*
incrémente
le
nombre
d
'
objets
*
*/
public function __construct($
valeur
=
Utils:
:
DEFAUT)
{
$this
->sValeur
=
$
valeur
;
Utils:
:
$
iNombre
+
+
;
echo "
Création
de
l
'
objet
:
"
.
$this
->sValeur
.
"
<
br
/
>
"
;
}
/**
*
Le
destructeur
.
*
Appelé
lors
de
l
'
utilisation
d
'
un
unset
(
libération
de
mémoire
)
*
*
décrémente
le
nombre
d
'
objets
*
*/
public function __destruct()
{
Utils:
:
$
iNombre
-
-
;
echo "
Suppression
de
l
'
objet
:
"
.
$this
->sValeur
.
"
<
br
/
>
"
;
}
}
//
Crée
2
objets.
//
$oVal1
=
new Utils();
$oVal2
=
new Utils ("
Matthieu
"
);
//
Affiche
le
nombre
d'objets
echo Utils:
:
getNombreObjects().
"
objet
(
s
)
<
br
/
>
<
br
/
>
"
;
//
Supprime
un
objet.
unset($
oVal1
);
//
Affiche
le
nombre
d'objets
echo Utils:
:
getNombreObjects().
"
objet
(
s
)
<
br
/
>
"
;
echo Utils:
:
$
iMulti
.
"
objets
par
defaut
<
br
/
>
<
br
/
>
"
;
?>
IV. Personnalisez vos messages d'erreur avec les exceptions en PHP▲
Gérer les erreurs est un impératif dans tout développement informatique.
Découvrez dans cette vidéo, comment utiliser les exceptions avec le langage PHP et rendre les erreurs compréhensibles pour tous.
Ci-dessous, l'exemple de code.
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
/**
*
Définition
d
'
une
classe
.
*/
class Utils
{
private $
iVal
;
//
Un
identifiant
/**
*
Le
constructeur
.
*
@param
[
type
]
$
valeur
[
description
]
*/
public function __construct($
valeur
)
{
$this
->iVal
=
$
valeur
;
}
/**
*
Vérifie
la
cohérence
de
la
valeur
*
@return
[
type
]
[
description
]
*/
public function verifValue()
{
//
si
l'identifiant
est
négatif
:
une
exception
est
levée.
if ($this
->iVal
<
0
)
{
throw new Exception("
identifiant
non
autorisé
"
,
$this
->iVal
);
}
}
}
//
création
de
2
objets.
$objet
=
new Utils(1
);
//
gestion
des
erreurs
try
{
echo "
Objet
1
:
"
;
$objet
->verifValue
();
//
ne
va
pas
lever
d'exception
echo "
OK
<
br
/
>
"
;
}
catch (Exception $
oError
)
{
echo "
ERREUR
"
.
$oError
->getCode
().
"
-
"
.
$oError
->getMessage
().
"
<
br
/
>
"
;
}
$objet
=
new Utils(-
1
);
try
{
echo "
Objet
-
1
:
"
;
$objet
->verifValue
();
//
va
créer
une
exception
(identifiant
négatif)
echo "
OK
<
br
/
>
"
;
}
catch (Exception $
oError
)
{
echo "
ERREUR
"
.
$oError
->getCode
().
"
-
"
.
$oError
->getMessage
().
"
<
br
/
>
"
;
}
echo "
-
-
<
br
/
>
<
br
/
>
"
;
//
avec
un
bloc
finally.
$objet
=
new Utils(10
);
try
{
echo "
Objet
10
:
"
;
$objet
->verifValue
();
//
ne
va
pas
lever
d'exception
echo "
OK
<
br
/
>
"
;
}
catch (Exception $
oError
)
{
echo "
ERREUR
"
.
$oError
->getCode
().
"
-
"
.
$oError
->getMessage
().
"
<
br
/
>
"
;
}
finally
{
//
exécute
le
code
dans
tous
les
cas
(même
s'il
y
a
une
exception)
echo "
FINALLY
<
br
/
>
<
br
/
>
"
;
}
$objet
=
new Utils(-
10
);
try
{
echo "
Objet
-
10
:
"
;
$objet
->verifValue
();
//
va
lever
une
exception
echo "
OK
<
br
/
>
"
;
}
catch (Exception $
oError
)
{
echo "
ERREUR
"
.
$oError
->getCode
().
"
-
"
.
$oError
->getMessage
().
"
<
br
/
>
"
;
}
finally
{
//
exécute
le
code
dans
tous
les
cas
(même
si
il
y
a
une
exception)
echo "
FINALLY
<
br
/
>
<
br
/
>
"
;
}
?>
V. Comment utiliser les namespace en PHP ▲
Les namespace : à quoi ça sert ? Comment les utiliser ?
Découvrez tout cela dans la vidéo.
Ci-dessous, l'exemple de code.
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
namespace Developpement;
/**
*
Redéfinition
d
'
une
fonction
php
qui
existe
déjà
*
@return
[
type
]
[
description
]
*/
function strlen()
{
echo "
Eh
non
je
ne
calcule
pas
la
longueur
d
'
une
chaîne
de
caractères
!
<
br
/
>
<
br
/
>
"
;
}
strlen();
echo \strlen("
Eh
non
je
ne
calcule
pas
la
longueur
d
'
une
chaîne
de
caractères
!
<
br
/
>
<
br
/
>
"
);
//
appel
de
la
fonction
php
echo "
<
br
/
>
Eh
non
,
la
suite
<
br
/
>
<
br
/
>
"
;
//
Définition
de
l'espace
de
noms.
namespace DevFacile;
//
Définition
d'une
constante.
const VALEUR =
"
un
"
;
/**
*
Définition
d
'
une
classe
.
*/
class Infos
{
/**
*
Une
méthode
statique
*
@return
[
type
]
[
description
]
*/
static function getInformation()
{
echo "
<
br
/
>
<
br
/
>
Librairie
<
br
/
>
"
;
}
}
/**
*
Définition
d
'
une
fonction
.
*
@return
[
type
]
[
description
]
*/
function showMessage()
{
echo "
__FUNCTION__
<
br
/
>
"
;
}
//
Affichage
de
l'espace
de
noms
courant.
echo "
Espace
de
noms
courant
=
"
.
__NAMESPACE__.
"
<
br
/
>
"
;
//
Appel
de
showMessage()
:
//
nom
non
qualifié
=
espace
de
noms
courant
echo "
showMessage
(
)
=
"
;
showMessage();
echo "
<
br
/
>
Par
ici
<
br
/
>
<
br
/
>
"
.
Infos:
:
getInformation();
use DevFacile\Infos as cl;
//
alias
d'une
classe
echo "
namespace
<
br
/
>
"
;
$oInstance
=
new cl;
//
instanciation
d'un
objet
de
la
classe
Project\com\developpement\uneClasse
echo "
<
br
/
>
Par
ici
alias
<
br
/
>
<
br
/
>
"
.
cl:
:
getInformation();
?>
VI. Comment utiliser les cookies pour une zone réservée aux membres avec PHP▲
Stockez les informations de vos visiteurs grâce aux cookies.
Apprenez à les utiliser en PHP dans cette vidéo.
Ci-dessous, l'exemple de code
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
//
création
de
cookie
//
la
valeur
"Matthieu"
et
expire
à
la
fin
de
la
session.
$
ok
=
setcookie("
nom
"
,
"
Matthieu
"
);
//
Idem
mais
expire
à
la
date
du
jour
(time()
en
secondes)
dans
30
jours.
$
ok
=
setcookie("
nom
"
,
"
Matthieu
"
,
time()+
(30
*
24
*
3600
));
//
Suppression
du
cookie.
$
ok
=
setcookie("
nom
"
);
//
gestion
des
sessions
avec
les
cookies
//
Tester
si
la
session
est
ouverte,
c'est-à-dire
si
une
variable
"session"
a
été
transmise
par
le
cookie.
if (!
isset($
_COOKIE
[
"
session
"
]
) )
{
//
Variable
"session"
vide
=
pas
de
session.
//
=>
ouvrir
la
session.
//
Pour
cet
exemple
:
//
-
identifiant
de
session.
$
session
=
md5( uniqid("
developpement
"
) );
//
-
date/heure
d'ouverture
de
la
session.
$
date
=
date("
\l\e
d
/
m
/
Y
a
H
:
i
:
s
"
);
//
Déposer
deux
cookies
pour
stocker
ces
informations.
//
Durée
de
vie
=
la
date
du
jour
(time()
en
secondes)
dans
30
jours.
setcookie("
session
"
,
$
session
,
time()+
(30
*
24
*
3600
) );
setcookie("
date
"
,
$
date
,
time()+
(30
*
24
*
3600
) );
//
-
message.
$
message
=
"
Nouvelle
session
:
"
.
$
session
.
"
"
.
$
date
.
"
<
br
/
>
"
;
}
else
{
//
Variable
"session"
renseignée
=
session
ouverte.
//
=>
récupère
les
informations
$
session
=
$
_COOKIE
[
"
session
"
]
;
$
date
=
$
_COOKIE
[
"
date
"
]
;
$
message
=
"
Session
déjà
ouverte
:
"
.
$
session
.
$
date
.
"
<
br
/
>
"
;
}
echo $
message
;
//
Détermine
la
date
et
l'heure
actuelle
echo "
<
br
/
>
Nous
sommes
le
"
.
date("
d
/
m
/
Y
"
).
"
,
il
est
"
.
date('
H:i:s
'
).
"
<
br
/
>
<
br
/
>
"
;
?>
VII. Comment gérer les erreurs du langage PHP▲
Apprenez, dans cette vidéo, à traiter les erreurs en PHP.
Ci-dessous, l'exemple de code.
<?php
/**
The
Initial
Developer
of
the
Original
Code
is
Matthieu
-
http
:
/
/
www
.
programmation
-
facile
.
com
/
Portions
created
by
the
Initial
Developer
are
Copyright
(
C
)
2013
the
Initial
Developer
.
All
Rights
Reserved
.
Contributor
(
s
)
:
*/
//
exemple
d'erreur
fatale
$
oFile
=
fope("
/
tmp
/
file_not_exist
.
txt
"
,
"
r
"
);
//
erreur
sur
l'instruction
fopen
$
texte
=
fread($
oFile
,
100
);
fclose($
oFile
);
//
exemple
d'erreur
d'alerte
$
oFile
=
fopen("
/
tmp
/
file_not_exist
.
txt
"
,
"
r
"
);
//
ouverture
d'un
fichier
qui
n'existe
pas
$
texte
=
fread($
oFile
,
100
);
fclose($
oFile
);
//
erreur
d'écriture
du
code
php
echo "
Hello
!
<
br
/
>
"
//
manque
le
point-virgule
!
echo "
Félicitations
!
<
br
/
>
"
;
?>
VIII. Recevez gratuitement la formation "PHP Facile"▲
Si vous souhaitez aller plus loin dans la création de sites Web dynamique,
vous pouvez recevoir gratuitement la formation "PHP Facile" avec des cours pas à pas, accompagnés des codes source commentés.
Ainsi, vous progressez à votre rythme, avec un suivi personnalisé et individuel. Vous avez la possibilité de poser toutes vos questions techniques sous chaque cours.
Vous allez ainsi découvrir comment utiliser le langage PHP et les bases de données MySQL.
Cliquez simplement ici pour recevoir gratuitement la formation "PHP Facile" !Cliquez simplement ici pour recevoir gratuitement la Formation PHP Facile !
IX. Remerciements▲
Merci beaucoup à l'équipe de rédaction de Developpez.com de contribuer à la diffusion de ce tutoriel.
J'adresse également un merci tout particulier à Jacques Jeanjacques_jean pour sa relecture orthographique.