LaDissertation.com - Dissertations, fiches de lectures, exemples du BAC
Recherche

PHP, Graphe enchainement.

Cours : PHP, Graphe enchainement.. Recherche parmi 298 000+ dissertations

Par   •  14 Novembre 2016  •  Cours  •  3 676 Mots (15 Pages)  •  661 Vues

Page 1 sur 15

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

...

Télécharger au format  txt (29.7 Kb)   pdf (82.6 Kb)   docx (23.9 Kb)  
Voir 14 pages de plus »
Uniquement disponible sur LaDissertation.com