Méthode

DéfinitionMé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.

Représentation UML de la classe Identite
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éfinitionVisibilité

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éthodeAttribut 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éthodeTypage

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