Easy-Micro

LANGAGE POO PHP Part 1
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

« Prev - POO PHP - Next »


< Page précédente POO PHP PART 1