DateTime::__unserialize

DateTimeImmutable::__unserialize

DateTimeInterface::__unserialize

(PHP 8 >= 8.2.0)

DateTime::__unserialize -- DateTimeImmutable::__unserialize -- DateTimeInterface::__unserializeDesserializa um Datetime

Descrição

public function DateTime::__unserialize(array $data): void
public function DateTimeImmutable::__unserialize(array $data): void
public function DateTimeInterface::__unserialize(array $data): void

O manipulador __unserialize().

Parâmetros

data

O DateTime serializado.

Valor Retornado

Nenhum valor é retornado.

Examples

Exemplo #1 Exemplo de DateTime::__unserialize()

<?php

class CustomDateTimeImmutable extends DateTimeImmutable
{
    #[\Override]
    public function __unserialize(array $data): void
    {
        echo "Hora de `{$data['to']}`:\n\n";

        parent::__construct($data['date'], new DateTimeZone($data['timezone']));
    }
}

$serializedData = 'O:23:"CustomDateTimeImmutable":4:{s:4:"date";s:25:"2025-03-27T00:00:00-03:00";s:9:"timestamp";i:1743033600;s:8:"timezone";s:17:"America/Sao_Paulo";s:2:"to";s:26:"tomar uma xícara de café";}';

var_dump(unserialize($serializedData));

O exemplo acima produzirá:

Hora de `tomar uma xícara de café`:

object(CustomDateTimeImmutable)#1 (3) {
  ["date"]=>
  string(26) "2025-03-27 00:00:00.000000"
  ["timezone_type"]=>
  int(1)
  ["timezone"]=>
  string(6) "-03:00"
}

Notas

Aviso

Um Error é lançado ao tentar desserializar um objeto DateTime personalizado se __serialize() estiver definido, mas __unserialize() estiver ausente.

Veja também

adicionar nota

Notas de Usuários

Não há notas de usuários para esta página.