Méthodes magiques
La programmation orientée objet en PHP
__sleep et __wakeup
Les méthodes magiques sont des méthodes qui sont appelées automatiquement lorsqu'un certain évènement est déclenché.
La méthode magique__sleep est utilisée pour nettoyer l'objet ou pour sauver des attributs. Si la méthode magique__sleep n'existe pas, tous les attributs seront sauvés.
<?php
class Connexion {
protected $pdo, $serveur, $utilisateur, $motDePasse, $dataBase;
public function __construct($serveur, $utilisateur, $motDePasse, $dataBase) {
$this->serveur = $serveur;
$this->utilisateur = $utilisateur;
$this->motDePasse = $motDePasse;
$this->dataBase = $dataBase;
$this->connexionBDD();
}
protected function connexionBDD() {
$this->pdo = new PDO('mysql:host='.$this->serveur.';dbname='.$this->dataBase, $this->utilisateur, $this->motDePasse);
}
public function __sleep() {
return ['serveur', 'utilisateur', 'motDePasse', 'dataBase'];
}
public function __wakeup() {
$this->connexionBDD();
}
}
<?php
session_start();
if (!isset($_SESSION['connexion'])) {
$connexion = new Connexion('localhost', 'root', '', 'tests');
$_SESSION['connexion'] = $connexion;
echo 'Actualisez la page !';
}
else {
echo '<pre>';
var_dump($_SESSION['connexion']); // On affiche les infos concernant notre objet.
echo '</pre>';
}
Voir le cours correspondant aux autre méthodes magiques :
methodes-magiques.php&id=1132