Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/*
4
 * This file is part of the Symfony package.
5
 *
6
 * (c) Fabien Potencier <fabien@symfony.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
 
12
namespace Symfony\Component\Uid\Factory;
13
 
14
use Symfony\Component\Uid\TimeBasedUidInterface;
15
use Symfony\Component\Uid\Uuid;
16
 
17
class TimeBasedUuidFactory
18
{
19
    private string $class;
20
    private ?Uuid $node;
21
 
22
    public function __construct(string $class, Uuid $node = null)
23
    {
24
        $this->class = $class;
25
        $this->node = $node;
26
    }
27
 
28
    public function create(\DateTimeInterface $time = null): Uuid&TimeBasedUidInterface
29
    {
30
        $class = $this->class;
31
 
32
        if (null === $time && null === $this->node) {
33
            return new $class();
34
        }
35
 
36
        return new $class($class::generate($time, $this->node));
37
    }
38
}