Njia __sleep
Njia __sleep inaitwa kiotomatiki wakati wa kusanifisha kitu kwa kutumia kitendo serialize. Njia hii inapaswa kurudisha safu ya majina ya sifa ambazo zinapaswa kujumuishwa katika uwakilishi uliosanifishwa wa kitu.
Sentaksi
public function __sleep(): array;
Mfano
Tutundue darasa na kutekeleza njia __sleep ili kusanifisha sifa fulani tu:
<?php
class User {
public $name = 'John';
public $age = 30;
private $password = '12345';
public function __sleep() {
return ['name', 'age'];
}
}
$user = new User();
echo serialize($user);
?>
Matokeo ya kutekeleza kodi:
'O:4:"User":2:{s:4:"name";s:4:"John";s:3:"age";i:30;}'
Mfano
Matumizi ya __sleep ili kuwatenga data nyeti kutoka kwa usanifishaji:
<?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);
?>
Matokeo ya kutekeleza kodi:
'O:7:"Account":2:{s:5:"login";s:5:"admin";s:5:"email";s:17:"admin@example.com";}'