urban 02fbfd43e2 codes commit 10 mesiacov pred
..
src 02fbfd43e2 codes commit 10 mesiacov pred
CHANGELOG.md 02fbfd43e2 codes commit 10 mesiacov pred
LICENSE 02fbfd43e2 codes commit 10 mesiacov pred
README.md 02fbfd43e2 codes commit 10 mesiacov pred
composer.json 02fbfd43e2 codes commit 10 mesiacov pred

README.md

PSR Clock

This repository holds the interface for PSR-20.

Note that this is not a clock of its own. It is merely an interface that describes a clock. See the specification for more details.

Installation

composer require psr/clock

Usage

If you need a clock, you can use the interface like this:

<?php

use Psr\Clock\ClockInterface;

class Foo
{
    private ClockInterface $clock;

    public function __construct(ClockInterface $clock)
    {
        $this->clock = $clock;
    }

    public function doSomething()
    {
        /** @var DateTimeImmutable $currentDateAndTime */
        $currentDateAndTime = $this->clock->now();
        // do something useful with that information
    }
}

You can then pick one of the implementations of the interface to get a clock.

If you want to implement the interface, you can require this package and implement Psr\Clock\ClockInterface in your code.

Don't forget to add psr/clock-implementation to your composer.jsons provides-section like this:

{
  "provides": {
    "psr/clock-implementation": "1.0"
  }
}

And please read the specification text for details on the interface.