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š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
Біз сайттың жұмысы, аналитика және персонализация үшін cookie файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау