<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Uid; /** * A v4 UUID contains a 122-bit random number. * * @author Grégoire Pineau <lyrixx@lyrixx.info> */ class UuidV4 extends Uuid { protected const TYPE = 4; public function __construct(string $uuid = null) { if (null === $uuid) { $uuid = random_bytes(16); $uuid[6] = $uuid[6] & "\x0F" | "\x40"; $uuid[8] = $uuid[8] & "\x3F" | "\x80"; $uuid = bin2hex($uuid); $this->uid = substr($uuid, 0, 8).'-'.substr($uuid, 8, 4).'-'.substr($uuid, 12, 4).'-'.substr($uuid, 16, 4).'-'.substr($uuid, 20, 12); } else { parent::__construct($uuid, true); } } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
.git | Folder | 0755 |
|
|
Command | Folder | 0755 |
|
|
Factory | Folder | 0755 |
|
|
Tests | Folder | 0755 |
|
|
.gitattributes | File | 113 B | 0644 |
|
.gitignore | File | 37 B | 0644 |
|
AbstractUid.php | File | 4.6 KB | 0644 |
|
BinaryUtil.php | File | 6.07 KB | 0644 |
|
CHANGELOG.md | File | 996 B | 0644 |
|
LICENSE | File | 1.06 KB | 0644 |
|
MaxUlid.php | File | 403 B | 0644 |
|
MaxUuid.php | File | 437 B | 0644 |
|
NilUlid.php | File | 403 B | 0644 |
|
NilUuid.php | File | 497 B | 0644 |
|
README.md | File | 620 B | 0644 |
|
TimeBasedUidInterface.php | File | 541 B | 0644 |
|
Ulid.php | File | 6.85 KB | 0644 |
|
Uuid.php | File | 5.65 KB | 0644 |
|
UuidV1.php | File | 2.09 KB | 0644 |
|
UuidV3.php | File | 621 B | 0644 |
|
UuidV4.php | File | 967 B | 0644 |
|
UuidV5.php | File | 621 B | 0644 |
|
UuidV6.php | File | 2.08 KB | 0644 |
|
UuidV7.php | File | 4.28 KB | 0644 |
|
UuidV8.php | File | 600 B | 0644 |
|
composer.json | File | 953 B | 0644 |
|
phpunit.xml.dist | File | 1.15 KB | 0644 |
|