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 истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан