__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";}'