356 of 410 menu

მეთოდი __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,
    რომელიც იძახება ობიექტის შექმნის დროს
ქართული
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ʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა