olajoscs / dateprovider
A simple DateTimeImmutable provider to replace or simulate the "new DateTimeImmutable"
1.0.0
2021-02-25 21:31 UTC
Requires
- php: ^7.0|^8.0
Requires (Dev)
- infection/infection: ^0.21.1
- phpunit/phpunit: ^9.5
README
A simple library to replace new \DateTime
or new \DateTimImmutable
in your code.
Why?
Testing is hard when you have hidden dependencies. Getting the current time is one of them, as it is always changing.
How to use
Classes should depend on the DateProvider
interface.
There are 2 implementations in the library:
CurrentDateProvider
: returns the current date/time, just likenew \DateTimeImmutable
, your DI container should instantiate this oneExactDateProvider
: returns an exact date/time, which can be used to simulate time pass, useful when writing tests.