LonghornPHP 2026

DateTime::__serialize

DateTimeImmutable::__serialize

DateTimeInterface::__serialize

(PHP 8 >= 8.2.0)

DateTime::__serialize -- DateTimeImmutable::__serialize -- DateTimeInterface::__serializeSerialize a DateTime

Опис

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

The __serialize() handler.

Параметри

У цієї функції немає параметрів.

Значення, що повертаються

The serialized representation of the DateTime object.

Приклади

Приклад #1 DateTime::__serialize() example

<?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";}"

Примітки

Увага

An Error is thrown when attempting to unserialize a custom DateTime object if __serialize() is defined but __unserialize() is missing.

Прогляньте також

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top