356 of 410 menu

Phương thức __wakeup

Phương thức __wakeup là một phương thức ma thuật trong PHP, tự động được gọi khi giải tuần tự hóa đối tượng. Nó cho phép khôi phục tài nguyên của đối tượng hoặc thực hiện các hành động bổ sung sau khi giải tuần tự hóa.

Cú pháp

public function __wakeup(): void { // code }

Ví dụ

Ví dụ lớp có phương thức __wakeup, khôi phục kết nối cơ sở dữ liệu:

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

Ví dụ

Ví dụ khôi phục các tập tin tạm thời sau khi giải tuần tự hóa:

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

Xem thêm

  • phương thức __sleep,
    được gọi trước khi tuần tự hóa đối tượng
  • phương thức __construct,
    được gọi khi tạo đối tượng
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối