Méthode
Définition : Méthodes d'instance
L'utilisation des méthodes d'un objet s'effectue à l'aide du signe ->
A l'intérieur des méthodes $this représente l'instance sur laquelle s'effectue la méthode.
1
class Identite {
2
public $nom = "Vanneste";
3
public $prenom = "Vincent";
4
public function getNomPrenom(){
5
return "{$this->nom} {$this->prenom}";
6
}
7
}
8
9
$fiche = new Identite();
10
11
echo $fiche->getNomPrenom();
12
// affiche "Vanneste Vincent"
Définition : Visibilité
Il existe trois catégories principales de méthode :
public : la méthode est visible par tout le monde.
protégé : la méthode n'est accessible que par sa classe et ses sous-classes.
privé : la méthode n'est accessible que par sa classe.
1
class Identite {
2
protected $nom = "vanneste";
3
protected $prenom = "vincent";
4
private function getNomPrenom(){
5
return "{$this->nom} {$this->prenom}";
6
}
7
public function getIdentite(){
8
return $this->getNomPrenom();
9
}
10
}
11
$fiche = new Identite();
12
echo $fiche->getIdentite();
13
// affiche vanneste vincent
14
echo $fiche->getNomPrenom();
15
// Fatal error: Call to private method Identite::getNomPrenom() from context
Méthode : Attribut objet
Les attributs peuvent être des objets
1
class Auteur
2
{
3
public $nom = 'Daspet';
4
public $prenom = 'Eric';
5
}
6
class Livre
7
{
8
public $titre;
9
public $auteur;
10
}
11
$auteur = new Auteur;
12
$livre = new Livre;
13
$livre->titre = 'PHP 5 avancé';
14
$livre->auteur = $auteur;
Méthode : Typage
Comme pour les fonctions, les méthodes peuvent être typées.
1
class Auteur
2
{
3
protected $nom;
4
5
public function setNom(string $nom){
6
$this->nom = $nom;
7
}
8
9
public function getNom(): string {
10
return $this->nom;
11
}
12
13
}
14