__wakeup মেথড
মেথড __wakeup PHP-তে একটি ম্যাজিক মেথড,
যা অবজেক্ট ডিসিরিয়ালাইজেশনের সময় স্বয়ংক্রিয়ভাবে কল হয়।
এটি অবজেক্টের রিসোর্স পুনরুদ্ধার করতে বা
ডিসিরিয়ালাইজেশনের পর অতিরিক্ত কর্ম সম্পাদন করতে দেয়।
সিনট্যাক্স
public function __wakeup(): void
{
// code
}
উদাহরণ
__wakeup মেথড সহ একটি ক্লাসের উদাহরণ, যা
ডাটাবেস সংযোগ পুনরুদ্ধার করে:
<?php
class DatabaseConnection
{
private $connection;
public function __construct()
{
$this->connect();
}
private function connect()
{
$this->connection = 'db_connected';
}
public function __sleep()
{
return [];
}
public function __wakeup()
{
$this->connect();
}
}
$db = new DatabaseConnection();
$serialized = serialize($db);
$unserialized = unserialize($serialized);
?>
উদাহরণ
ডিসিরিয়ালাইজেশনের পর অস্থায়ী ফাইল পুনরুদ্ধারের উদাহরণ:
<?php
class TempFileHandler
{
private $tempFiles = [];
public function addTempFile($file)
{
$this->tempFiles[] = $file;
}
public function __wakeup()
{
foreach ($this->tempFiles as $file) {
if (file_exists($file)) {
unlink($file);
}
}
$this->tempFiles = [];
}
}
$handler = new TempFileHandler();
$handler->addTempFile('temp1.txt');
$serialized = serialize($handler);
$unserialized = unserialize($serialized);
?>
আরও দেখুন
-
মেথড
__sleep,
যা অবজেক্ট সিরিয়ালাইজেশনের আগে কল হয় -
মেথড
__construct,
যা অবজেক্ট তৈরি করার সময় কল হয়