ClockServiceProvider
FastForward\Clock\ServiceProvider\ClockServiceProvider
registers clock services in Fast Forward Container.
Responsibilities
- register
FastForward\Clock\SystemClockas the default clock; - register
FastForward\Clock\FrozenClockfor testing scenarios; - alias
Psr\Clock\ClockInterfacetoSystemClock; - provide a
DateTimeZonefactory for timezone configuration.
Factory map
| Service ID | Factory behavior |
|---|---|
FastForward\Clock\SystemClock
|
Creates a system clock with configured timezone |
Psr\Clock\ClockInterface
|
Resolves to the registered SystemClock instance |
FastForward\Clock\FrozenClock
|
Returns the class for manual instantiation |
DateTimeZone
|
Creates timezone from config, defaults to system TZ |
Extensions
ClockServiceProvider
returns an empty extension map. The package does not decorate or mutate the resolved clock after
construction.
Usage example
<?php
declare(strict_types=1);
use FastForward\Clock\ServiceProvider\ClockServiceProvider;
use Psr\Clock\ClockInterface;
use function FastForward\Container\container;
$container = container(new ClockServiceProvider());
$clock = $container->get(ClockInterface::class);