PHP, Graphe enchainement.
Cours : PHP, Graphe enchainement.. Recherche parmi 300 000+ dissertationsPar stealer57 • 14 Novembre 2016 • Cours • 3 676 Mots (15 Pages) • 747 Vues
IUT de Metz - 2e année Support de cours
Objectifs :
– Maitriser la notion de classe et d’héritage en PHP.
– Connaitre les différences entre classes PHP4 et classes PHP5
1 Notion de classe en PHP4.
1.1 Définition d’une classe
Une classe est constituée d’attributs (ou propriétés ou variables membres), et de méthodes, les fonctions internes
qui définissent son comportement. Le rapport entre classe et objets est un peu le même qu’entre le plan
d’architecte (la classe) et la maison que celui-ci permet de fabriquer (l’objet). La classe décrit des propriétés
et des méthodes et à partir de celle-ci on peut créer plusieurs objets, qui auront tous le même comportement
(grâce aux méthodes de la classe), mais pas les mêmes valeurs des attributs.
Voici une classe Personne en PHP4 :
class Personne
{
var $prenom ;
var $nom ;
. . .
function Personne($prenom, $nom)
{
$this->prenom = $prenom ;
$this->nom = $nom ;
}
. . .
function info()
{
return "$this->prenom $this->nom" ;
}
}
Les attributs sont définis avec le mot-clé var. Les fonctions Personne() et Info() sont en fait les méthodes de
la classe Personne. Dans la définition des attributs, il n’est pas possible de leur affecter une variable ou une
fonction ou méthode (seule une constante est autorisée). De l’intérieur de la classe, on accède aux attributs et
aux méthodes grâce à l’opérateur $this->.
1.2 Le constructeur d’une classe
La méthode Personne possède le même nom que la classe, c’est la caractéristique du constructeur de la classe.
Il peut comporter un nombre quelconque de paramètres, mais contrairement à d’autres langages orientés objet
il ne peut y avoir qu’un constructeur par classe.
Remarque :
Le constructeur n’est pas obligatoire. On peut initialiser les valeurs par défaut dans la déclaration des attributs
de la classe :
Auteur: Hubert Frauensohn PHP: classes 1/16
IUT de Metz - 2e année Support de cours
class Personne
{
var $prenom=’John’ ;
var $nom=’Doe’ ;
. . .
function info()
{
return "$this->prenom $this->nom" ;
}
}
Il est possible de définir les paramètres par défaut du constructeur et cela constitue la meilleure solution.
Exemple :
function Personne($prenom=’John’, $nom=’Doe’)
{
$this->prenom = $prenom ;
$this->nom = $nom ;
}
1.3 Création d’objets en PHP
Les objets sont créés avec l’opérateur new :
$pers1=new Personne("Alain","Dupont") ;
$pers2=new Personne("Corinne","Viard") ;
$pers1 et $pers2 sont deux objets qui sont des instances de la classe Personne. L’opérateur new appelle le
constructeur de la classe et les valeurs sont passées à ce moment là. Si le constructeur possède des paramètres
par défaut, on peut créer l’objet sans passer de valeurs ; dans ce cas l’objet aura pour valeur d’attributs ceux
passés par défaut :
$pers1=new Personne ;// $pers1 aura pour prénom John et comme nom Doe
$pers2=new Personne("Corinne") ;// $pers2 aura pour prénom Corinne et comme nom Doe
Remarque :
Si on fait un echo d’un objet on obtient : Object.
echo $pers1 ;// affiche Object
1.4 Accès aux membres d’un objet
Pour accéder aux membres d’un objet, il faut utiliser l’opérateur ->. Voici un exemple :
$pers=new Personne ;
$pers->nom=’Dupont’ ;
$pers->prenom=’Alain’ ;
echo $pers->info() ; // affiche Alain Dupont
Auteur: Hubert Frauensohn PHP: classes 2/16
IUT de Metz - 2e année Support de cours
1.5 Transmission d’un objet à une fonction.
Lorsqu’un objet est transmis à une fonction c’est une copie qui est transmise en version PHP4. La nouveauté
en PHP5, c’est que par défaut l’objet est transmis par référence.
Si on veut écrire du code ne dépendant pas de la version (4 ou 5) il vaut mieux préciser que l’objet est
transmis par référence
...