355 of 410 menu

Méthode __sleep

La méthode __sleep est appelée automatiquement lors de la sérialisation d'un objet à l'aide de la fonction serialize. Cette méthode doit retourner un tableau des noms des propriétés qui doivent être incluses dans la représentation sérialisée de l'objet.

Syntaxe

public function __sleep(): array;

Exemple

Créons une classe et implémentons la méthode __sleep pour sérialiser uniquement certaines propriétés :

<?php class User { public $name = 'John'; public $age = 30; private $password = '12345'; public function __sleep() { return ['name', 'age']; } } $user = new User(); echo serialize($user); ?>

Résultat de l'exécution du code :

'O:4:"User":2:{s:4:"name";s:4:"John";s:3:"age";i:30;}'

Exemple

Utilisation de __sleep pour exclure les données confidentielles de la sérialisation :

<?php class Account { public $login = 'admin'; private $password = 'secret'; public $email = 'admin@example.com'; public function __sleep() { return ['login', 'email']; } } $account = new Account(); echo serialize($account); ?>

Résultat de l'exécution du code :

'O:7:"Account":2:{s:5:"login";s:5:"admin";s:5:"email";s:17:"admin@example.com";}'

Voir aussi

  • la méthode __wakeup,
    qui est appelée lors de la désérialisation de l'objet
  • la fonction serialize,
    qui sérialise les données
Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser