356 of 410 menu

Metodas __wakeup

Metodas __wakeup yra magiškas metodas PHP, kurs automatiškai iškviečiamas deserializuojant objektą. Jis leidžia atkurti objekto resursus arba atlikti papildomus veiksmus po deserializacijos.

Sintaksė

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

Pavyzdys

Klasės su metodu __wakeup pavyzdys, kuris atkuria ryšį su duomenų baze:

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

Pavyzdys

Laikinųjų failų atkūrimo po deserializacijos pavyzdys:

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

Taip pat žiūrėkite

  • metodas __sleep,
    kurs iškviečiamas prieš serializuojant objektą
  • metodas __construct,
    kurs iškviečiamas kuriant objektą
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti