356 of 410 menu

Metode __wakeup

Metode __wakeup ir maģiska metode PHP, kas automātiski tiek izsaukta, kad objekts tiek atserializēts. Tā ļauj atjaunot objekta resursus vai veikt papildu darbības pēc atserializēšanas.

Sintakse

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

Piemērs

Klases piemērs ar metodi __wakeup, kas atjauno savienojumu ar datu bāzi:

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

Piemērs

Pagaidu failu atjaunošanas piemērs pēc atserializēšanas:

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

Skatiet arī

  • metodi __sleep,
    kas tiek izsaukta pirms objekta serializācijas
  • metodi __construct,
    kas tiek izsaukta, kad objekts tiek izveidots
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt