Download the PHP package barretstorck/tempus-machina without Composer
On this page you can find all versions of the php package barretstorck/tempus-machina. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package tempus-machina
_____ __ __ _ _
|_ _|__ _ __ ___ _ __ _ _ ___ | \/ | __ _ ___| |__ (_)_ __ __ _
| |/ _ \ '_ ` _ \| '_ \| | | / __| | |\/| |/ _` |/ __| '_ \| | '_ \ / _` |
| | __/ | | | | | |_) | |_| \__ \ | | | | (_| | (__| | | | | | | | (_| |
|_|\___|_| |_| |_| .__/ \__,_|___/ |_| |_|\__,_|\___|_| |_|_|_| |_|\__,_|
|_|
(Latin for Time Machine)
Tempus Machina is a PSR-20 compliant
Clock library. It's purpose is to allow developers to treat time as a dependency
that can be passed into code, and therefore mocked for testing, instead of
relying on hard coded calls to time()
and similar functions.
Have you ever wanted to make sure your code runs as expected during a daylight savings time transition? What about if the date is February 29th? Or what if there is a leap second? With Tempus Machina you can simulate these scenarios in your test environments.
View on Packagist.org.
Setup
To add Tempus Machina to your project run:
Available Clocks
There are 3 Clocks that implement Psr\Clock\ClockInterface
and are packaged
with Tempus Machina:
1. SystemClock
The SystemClock is the default clock and always returns the device's real system
timestamp. Anything that uses the UsesClockTrait
trait will automatically use
the SystemClock by default if no other clocks are given.
2. FrozenClock
The FrozenClock will always provide whatever timestamp it is last given and will not move forward in time. If no timestamp is given then the system's current time will be used by default.
The FrozenClock constructor and set()
function can accept any of the following
parameters:
- An integer unix timestamp
- A DateTime formatted string
- An existing DateTimeInterface object
- An existing ClockInterface object
- null or no parameters to use the current system timestamp as a default
3. OffsetClock
The OffsetClock will continue to move forward in real time from whatever timestamp it is last given. If no timestamp is given then the system's current time will be used by default.
The OffsetClock constructor and set()
function can accept any of the following
parameters:
- An integer unix timestamp
- A DateInterval formatted string
- A DateTime formatted string
- An existing DateTimeInterface object
- An existing ClockInterface object
- An existing DateInterval object
- null or no parameters to use the current system timestamp as a default