Polyfill for the DateTimeImmutable class added in PHP 5.5.0
This small library adds a polyfill for the
DateTimeImmutable object introduced in PHP 5.5.0.
- Chris Wilkinson
It's partially based on Benjamin Eberlei's Immutable DateTime Objects blog post.
$ php composer.phar require thewilkybarkid/date-time-immutable:~1.0
$dateTime = new DateTimeImmutable(); $newDateTime = $datetime->modify('+1 day'); var_dump($dateTime === $newDateTime); // output 'bool(false)'
PHP 5.5.0 also introduced a
DateTimeInterface which both
DateTime implement. In this polyfill we can't change the
DateTime class, so
DateTimeImmutable has to extend it. This is slightly dangerous as their behaviour is not compatible (see https://bugs.php.net/bug.php?id=64513).
PHP 5.6.0 added a
DateTimeImmutable::createFromMutable() factory method, which this polyfill doesn't include.