(PHP 8 >= 8.2.0)
DateTime::__serialize -- DateTimeImmutable::__serialize -- DateTimeInterface::__serialize — Sérialise un DateTime
Le gestionnaire __serialize().
Cette fonction ne contient aucun paramètre.
La représentation sérialisée de l'objet DateTime.
Exemple #1 Exemple de 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));L'exemple ci-dessus va afficher :
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";}"
Une Error est levée lors de la tentative de désérialisation d'un objet DateTime personnalisé si __serialize() est défini mais que __unserialize() est absent.