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 ramsey/uuid library
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 *
9
 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
10
 * @license http://opensource.org/licenses/MIT MIT
11
 */
12
 
13
declare(strict_types=1);
14
 
15
namespace Ramsey\Uuid\Codec;
16
 
17
/**
18
 * TimestampLastCombCodec encodes and decodes COMBs, with the timestamp as the
19
 * last 48 bits
20
 *
21
 * The CombGenerator when used with the StringCodec (and, by proxy, the
22
 * TimestampLastCombCodec) adds the timestamp to the last 48 bits of the COMB.
23
 * The TimestampLastCombCodec is provided for the sake of consistency. In
24
 * practice, it is identical to the standard StringCodec but, it may be used
25
 * with the CombGenerator for additional context when reading code.
26
 *
27
 * Consider the following code. By default, the codec used by UuidFactory is the
28
 * StringCodec, but here, we explicitly set the TimestampLastCombCodec. It is
29
 * redundant, but it is clear that we intend this COMB to be generated with the
30
 * timestamp appearing at the end.
31
 *
32
 * ``` php
33
 * $factory = new UuidFactory();
34
 *
35
 * $factory->setCodec(new TimestampLastCombCodec($factory->getUuidBuilder()));
36
 *
37
 * $factory->setRandomGenerator(new CombGenerator(
38
 *     $factory->getRandomGenerator(),
39
 *     $factory->getNumberConverter()
40
 * ));
41
 *
42
 * $timestampLastComb = $factory->uuid4();
43
 * ```
44
 *
45
 * @link https://www.informit.com/articles/printerfriendly/25862 The Cost of GUIDs as Primary Keys
46
 *
47
 * @psalm-immutable
48
 */
49
class TimestampLastCombCodec extends StringCodec
50
{
51
}