Classes PHP
La programmation orientée objet en PHP
Créer une classe
<?php
class Personnage { // Présence du mot-clé class suivi du nom de la classe
// Déclaration des attributs et méthodes ici.
}
Création d'attributs
<?php
class Personnage {
private $_force = 50; // La force du personnage, par défaut à 50.
private $_localisation = 'Lyon'; // Sa localisation, par défaut à Lyon.
private $_experience = 1; // Son expérience, par défaut à 1.
private $_degats = 0; // Ses dégâts, par défaut à 0.
}
Notez que chaque nom d'élément privé (ici il s'agit d'attributs, mais nous verrons plus tard qu'il peut aussi s'agir de méthodes) doit être précédé d'un underscore.
Notez enfin que la valeur que vous leur donnez par défaut doit être une expression scalaire statique. Donc ni de private $_attribut = 1 + 1 ni de private $_attribut = 'Hello ' . 'world !'
Création de méthodes
Avec le mot clé function<?php
class Personnage {
private $_force; // La force du personnage
private $_localisation; // Sa localisation
private $_experience; // Son expérience
private $_degats; // Ses dégâts
public function deplacer() {
// Une méthode qui déplacera le personnage (modifiera sa localisation)
}
public function frapper()
// Une méthode qui frappera un personnage (suivant la force qu'il a)
}
public function gagnerExperience() {
// Une méthode augmentant l'attribut $experience du personnage
}
}
Les méthodes n'ont en général pas besoin d'être masquées à l'utilisateur, on les met souvent en public