__sleep मेथड
__sleep मेथड serialize फ़ंक्शन का उपयोग करके ऑब्जेक्ट के सीरियलाइज़ेशन के दौरान स्वचालित रूप से कॉल किया जाता है। इस मेथड को उन गुणों के नामों की एक सरणी वापस करनी चाहिए जिन्हें ऑब्जेक्ट के सीरियलाइज़्ड प्रतिनिधित्व में शामिल किया जाना चाहिए।
सिंटैक्स
public function __sleep(): array;
उदाहरण
आइए एक क्लास बनाएं और केवल कुछ विशिष्ट गुणों को सीरियलाइज़ करने के लिए __sleep मेथड को लागू करें:
<?php
class User {
public $name = 'John';
public $age = 30;
private $password = '12345';
public function __sleep() {
return ['name', 'age'];
}
}
$user = new User();
echo serialize($user);
?>
कोड निष्पादन का परिणाम:
'O:4:"User":2:{s:4:"name";s:4:"John";s:3:"age";i:30;}'
उदाहरण
सीरियलाइज़ेशन से गोपनीय डेटा को बाहर करने के लिए __sleep का उपयोग:
<?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);
?>
कोड निष्पादन का परिणाम:
'O:7:"Account":2:{s:5:"login";s:5:"admin";s:5:"email";s:17:"admin@example.com";}'