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šuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј