Blame view

public/vendor/psr/clock/README.md 1.47 KB
86143e36f   Андрей Ларионов   Коммит вторник
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  # PSR Clock
  
  This repository holds the interface for [PSR-20][psr-url].
  
  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
  
  ```bash
  composer require psr/clock
  ```
  
  ## Usage
  
  If you need a clock, you can use the interface like this:
  
  ```php
  <?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][implementation-url] 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.json`s `provides`-section like this:
  
  ```json
  {
    "provides": {
      "psr/clock-implementation": "1.0"
    }
  }
  ```
  
  And please read the [specification text][specification-url] for details on the interface.
  
  [psr-url]: https://www.php-fig.org/psr/psr-20
  [package-url]: https://packagist.org/packages/psr/clock
  [implementation-url]: https://packagist.org/providers/psr/clock-implementation
  [specification-url]: https://github.com/php-fig/fig-standards/blob/master/proposed/clock.md