DateTime::__serialize

DateTimeImmutable::__serialize

DateTimeInterface::__serialize

(PHP 8 >= 8.2.0)

DateTime::__serialize -- DateTimeImmutable::__serialize -- DateTimeInterface::__serializeПодготавливает данные объекта даты и времени для сериализации

Описание

public function DateTime::__serialize(): array
public function DateTimeImmutable::__serialize(): array
public function DateTimeInterface::__serialize(): array

Метод __serialize() обрабатывает данные объекта даты и времени при вызове функции сериализации.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Метод возвращает массив данных для представления объекта DateTime или других совместимых с интерфейсом объектов при сериализации.

Примеры

Пример #1 Пример обработки объекта методом DateTime::__serialize() для подготовки данных к сериализации

<?php

class CustomDateTimeImmutable extends DateTimeImmutable
{
    #[\Override]
    public function __serialize(): array
    {
        return [
            'date' => $this->format(DateTimeInterface::W3C),
            'timestamp' => $this->getTimestamp(),
            'timezone' => $this->getTimeZone()->getName(),
            'to' => 'Drink a cup of coffee',
        ];
    }
}

$date = new CustomDateTimeImmutable('2025-03-27');
var_dump(serialize($date));

Результат выполнения приведённого примера:

string(171) "O:23:"CustomDateTimeImmutable":4:{s:4:"date";s:25:"2025-03-27T00:00:00+00:00";s:9:"timestamp";i:1743033600;s:8:"timezone";s:3:"UTC";s:2:"to";s:21:"Drink a cup of coffee";}"

Примечания

Внимание

При попытке десериализовать пользовательский объект DateTime выбрасывается ошибка Error, если метод __serialize() определили, а определение метода __unserialize() не добавили.

Смотрите также

  • DateTime::__unserialize() - Подготавливает данные для восстановления объекта даты и времени при десериализации
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top