355 of 410 menu

Método __sleep

El método __sleep se llama automáticamente al serializar un objeto con la función serialize. Este método debe devolver un array con los nombres de las propiedades que deben incluirse en la representación serializada del objeto.

Sintaxis

public function __sleep(): array;

Ejemplo

Creemos una clase e implementemos el método __sleep para serializar solo ciertas propiedades:

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

Resultado de ejecutar el código:

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

Ejemplo

Uso de __sleep para excluir datos confidenciales de la serialización:

<?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); ?>

Resultado de ejecutar el código:

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

Ver también

  • método __wakeup,
    que se llama al deserializar un objeto
  • función serialize,
    que serializa datos
Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar