1.2 Les classes en PHP 5 - Free

28 mai 2010 ... 2.6 Classes IHM Document. 2.6.1 Interfaces ... 2.7 Classes IHM Formulaires .... "<
br />"; ?> Exercice. Complétez ce code pour qu'il corresponde à l'écran. ...... L'
écart-type : la racine carrée de la variance : ?(Variance). Corrigé.

Part of the document










PHP
Et
POO











TABLE DES MATIERES



Chapitre 1 LES CLASSES ET LES OBJETS 4
1.1 Présentation générale 5
1.1.1 Généralités 5
1.1.2 Représentation graphique 5
1.1.3 Les objets 5
1.1.4 Principales caractéristiques objet de PHP5 5
1.2 Les classes en PHP 5 6
1.2.1 Syntaxe de définition d'une classe 6
1.2.2 Les propriétés et les méthodes 6
1.2.3 Instantiation d'un objet 8
1.2.4 Exemple complet 9
1.2.5 Portée des attributs et des méthodes 10
1.2.6 Le polymorphisme en PHP 11
1.3 Les accesseurs (__set et __get) 13
1.4 Les constructeurs (__construct) 14
1.4.1 Définition 14
1.4.2 Exemple 14
1.5 Les destructeurs (__destruct) 15
1.6 L'héritage 16
1.6.1 Définition 16
1.6.2 Représentation graphique 16
1.6.3 Syntaxe 16
1.6.4 Exemple complet 17
1.6.5 Héritage et surcharge 18
1.6.6 Héritage et transtypage 20
1.7 Compléments 23
1.7.1 Les constantes de classe 23
1.7.2 Les opérateurs parent, self et :: 24
1.7.3 Méthode statique, variable statique 25
1.7.4 Classe abstraite et méthode abstraite 33
1.7.5 Classes et méthodes Final 36
1.8 Linéariser les objets (Sérialiser, désérialiser) 38
1.8.1 La sérialisation 38
1.8.2 La désérialisation 38
1.8.3 Sérialisation et désérialisation Fichier 39
1.8.4 Sérialisations et désérialisations Fichier 40
1.8.5 Les méthodes __sleep() et __wakeup(). 43
1.9 Les interfaces 46
1.10 Parcourir les membres d'une classe 51
1.10.1 Via une méthode interne 51
1.10.2 Via la fonction get_object_vars($objet) 52
1.10.3 Via l'interface Iterator de PHP 53
1.11 DIVERS 56
1.11.1 Les méthodes magiques 56
1.11.2 La méthode __toString() 56
1.11.3 Cloner un objet 57
1.11.4 La méthode __call(methode, arguments) 58
1.11.5 L'héritage et les méthodes __set() et __get(). 62
1.11.6 La fonction __autoload() 63
1.11.7 Méthodes diverses 65
1.11.8 La comparaison d'objets 69
1.11.9 Objets et session 70
1.12 Relations Inter-Classes : Association, Agrégation et Composition
71
1.12.1 Association binaire de type Père-Fils 72
1.12.2 Association binaire 74
1.12.3 Association n-aires 77
1.12.4 Association avec une classe d'association 78
1.12.5 Comparaison Agrégation-Composition 79
1.12.6 Agrégation 80
1.12.7 Composition 83
1.13 POO ET GESTION DES EXCEPTIONS 87
1.13.1 Rappel sur la gestion des erreurs avec PHP 87
1.13.2 Introduction à la gestion d'exception 92
1.13.3 Créez votre propre classe d'Exception. 94
1.13.4 Levée d'exception automatisée 97
1.13.5 Levée d'exception centralisée 101
1.14 La réflexion 103
1.14.1 Présentation 103
1.14.2 Exemples 105
1.14.3 Exercices 109
Chapitre 2 Annexes 114
2.1 Une classe Panier 115
2.2 Une classe Cookie 117
2.3 Une classe BD 118
2.4 La classe BDs 120
2.5 Classes DAO de base 124
2.5.1 Objectif 124
2.5.2 Schéma 125
2.5.3 Scripts 126
2.6 Classes IHM Document 130
2.6.1 Interfaces 130
2.6.2 Classes Pages 131
2.6.3 Script de Tests 134
2.7 Classes IHM Formulaires 136
2.8 Différences PHP4 et PH5 145
2.9 Modélisations StarUML 146
2.9.1 Diagramme de contexte statique 146
2.9.2 Diagramme de cas d'utilisation 147
2.9.3 Diagramme de séquences : visualisation villes 148
2.9.4 Diagramme de séquences : visualisation d'une ville 149
2.9.5 Diagramme de séquences : suppression d'une ville 149
2.9.6 Diagramme de séquences : modification d'une ville 150
2.9.7 Diagramme de classes 151
2.9.8 Diagramme de d'états-transitions 152
2.9.9 Diagrammes d'activité 153









LES CLASSES ET LES OBJETS






1 Présentation générale


1 Généralités


Les classes sont des représentations abstraites des objets du monde.
Une classe doit représenter les caractéristiques statiques et dynamiques
des objets.
Elle les encapsule.
Les caractéristiques statiques sont représentées au moyen d'attributs ou de
propriétés.
Les caractéristiques dynamiques sont représentées au moyen d'opérations ou
de méthodes.
La POO met en place les mécanismes d'héritage.
Pour explorer tous les concepts cf la POO (Programmation Orientée Objet) et
la méthode UML (Unified Modeling Language).


2 Représentation graphique


La représentation graphique (cf UML) est réalisée via un rectangle à 3
compartiments.

[pic]


3 Les objets


Un objet est une instanciation d'une classe.


4 Principales caractéristiques objet de PHP5


Class et new,
This, ::Self, ::parent,
Portées : public, protected, private,
Méthodes __construct et __destruct,
Héritage simple via extends,
Surchage - éventuellement avec polymorphisme - mais pas de polymorphisme de
même niveau,
Propriétés et méthodes static,
Classes abstraites et classes final,
Interfaces via Interface et implements,
Méthodes __set, __get pour affecter et récupérer des valeurs d'attributs
... et autres méthodes magiques.

NB : Pour les différences entre PHP4 et PHP5 cf annexe.



2 Les classes en PHP 5


1 Syntaxe de définition d'une classe


Par convention les noms des classes commencent par une majuscule et sont
camélisés.
La classe est enregistrée dans un fichier de même nom.

class NomDeClasse
{
}

2 Les propriétés et les méthodes


. Les propriétés

Les propriétés sont déclarées avec le mot réservé public ou private ou
protected.

QualificateurDePortée $nomDePropriété;

This est le pronom qui représente l'objet instancié.
La référence à une propriété ou à une méthode est réalisée avec l'opérateur
-> (Notation pointée ().

. Les méthodes

Les méthodes reprennent la syntaxe des fonctions avec un qualificateur de
portée.

. Remarques

Par convention les noms des attributs/propriétés et des opérations/méthodes
commencent par une minuscule et sont camélisés.


. Exemple de classe

[pic]

class Personne
{
// --- Propriétés
private $nom;
private $age;

// --- Méthodes
public function affecterNom($nom) { $this->nom = $nom;}
public function recupererNom() { return $this->nom;}
public function affecterAge($age) { $this->age = $age;}
public function recupererAge() { return $this->age;}
}



3 Instantiation d'un objet


L'instantiation d'un objet à partir d'une classe s'effectue avec le mot clé
new.
On affecte le nouvel objet à une variable.

$variable = new NomDeClasse();

. Exemple d'instantiation

$tintin = new Personne();



4 Exemple complet


[pic]

Par convention (Sans aucune obligation) une classe sera stockée dans un
fichier php. Le nom du fichier sera identique au nom de la classe.