Méthodes PHP
Introduction à la programmation orientée objet en PHP
Setters et getters
Les fonctions définies à l'intérieur d'une classe sont appelées des méthodes dont le rôle va être d'obtenir (get) ou de mettre à jour (set) les valeurs de nos propriétés.
Dans notre classe Utilisateur, nous allons par exemple pouvoir créer trois méthodes qu'on va appeler getNom(), setNom() et setPass(). Le rôle de getNom() va être de récupérer la valeur contenue dans la propriété $user_name (un getter). Les rôles de setNom() et de setPass() vont être respectivement de définir ou de modifier la valeur contenue dans les propriétés $user_name et $user_pass (les setters).
<?php
class Utilisateur {
// Propriétés (attributs)
private $user_name;
private $user_pass;
public function setNom($new_user_name) {
$this->user_name = $new_user_name;
}
public function getNom(){
// Pseudo-variable $this pour faire référence à l'objet courant
return $this->user_name;
}
public function setPasse($new_user_pass){
$this->user_pass = $new_user_pass;
}
}
Fichier principal
Fichier index.php<!DOCTYPE html>
<html lang="fr">
<head>
<title>POO PHP</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/mesStyles.css">
</head>
<body>
<h1>Inscription</h1>
<?php
require 'classes/utilisateur.class.php';
// nouvelles instances de notre classe Utilisateur
$Utilisateur1 = new Utilisateur();
$Utilisateur2 = new Utilisateur();
$Utilisateur1 -> setNom('Mimi');
$Utilisateur1 -> setPasse(123456);
$Utilisateur2 -> setNom('Fifi');
$Utilisateur2 -> setPasse(123456);
// pour afficher le nom d'un utilisateur
echo $Utilisateur1 -> getNom().'<br>';
?>
</body>
</html>
Exercice
Etape 1 : Rajoutez la méthode getPasse() dans la classe Utilisateur et affichez le nom et le mot de passe de Mimi.Etape 2 : Un utilisant un tableau $Utilisateur[0] à la place de $Utilisateur1 lors de la création d'instance d'un nouvel utilisateur, affichez avec une boucle tous les inscrits comme ceci : -> Voir cet exemple Easy-Micro