thewilkybarkid / date-time-immutable
Polyfill for the DateTimeImmutable class added in PHP 5.5.0
Installs: 2 352
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 2
pkg:composer/thewilkybarkid/date-time-immutable
Requires
- php: >=5.2.0
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2022-02-01 12:27:59 UTC
README
This small library adds a polyfill for the DateTimeImmutable object introduced in PHP 5.5.0.
Authors
- Chris Wilkinson
It's partially based on Benjamin Eberlei's Immutable DateTime Objects blog post.
Installation
$ php composer.phar require thewilkybarkid/date-time-immutable:~1.0
Basic usage
$dateTime = new DateTimeImmutable();
$newDateTime = $datetime->modify('+1 day');
var_dump($dateTime === $newDateTime); // output 'bool(false)'
Caveats
PHP 5.5.0 also introduced a DateTimeInterface which both DateTimeImmutable and 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.