(PHP 8 >= 8.2.0)
DateTime::__serialize -- DateTimeImmutable::__serialize -- DateTimeInterface::__serialize — Serialize a DateTime
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.