356 of 410 menu

Μέθοδος __wakeup

Η μέθοδος __wakeup είναι μια μαγική μέθοδος στην PHP, η οποία καλείται αυτόματα κατά την αποσειριοποίηση αντικειμένου. Επιτρέπει την αποκατάσταση πόρων του αντικειμένου ή την εκτέλεση πρόσθετων ενεργειών μετά την αποσειριοποίηση.

Σύνταξη

public function __wakeup(): void { // κώδικας }

Παράδειγμα

Παράδειγμα κλάσης με μέθοδο __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,
    η οποία καλείται κατά τη δημιουργία αντικειμένου
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη