mirror of
https://codeberg.org/vlw/scaffold.git
synced 2025-11-05 06:02:42 +01:00
Compare commits
1 commit
| Author | SHA1 | Date | |
|---|---|---|---|
| 4fa45083d0 |
1 changed files with 34 additions and 29 deletions
|
|
@ -2,37 +2,42 @@
|
|||
|
||||
namespace vlw\Scaffold\Helpers;
|
||||
|
||||
const UUID_LENGTH = 36;
|
||||
|
||||
/**
|
||||
* Generate an all binary 0:s UUID
|
||||
*
|
||||
* @return string
|
||||
* Generate Universally unique identifiers
|
||||
*/
|
||||
function uuid_nil(): string {
|
||||
return "00000000-0000-0000-0000-000000000000";
|
||||
}
|
||||
class UUID {
|
||||
public const LENGTH = 36;
|
||||
|
||||
/**
|
||||
* Generate an all binary 1:s UUID
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function uuid_max(): string {
|
||||
return "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
|
||||
}
|
||||
/**
|
||||
* Generate an all binary 0:s UUID
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function nil(): string {
|
||||
return "00000000-0000-0000-0000-000000000000";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a version 4 UUID
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function uuid_v4(): string {
|
||||
return sprintf("%04x%04x-%04x-%04x-%04x-%04x%04x%04x",
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
||||
mt_rand(0, 0xffff),
|
||||
mt_rand(0, 0x0fff) | 0x4000,
|
||||
mt_rand(0, 0x3fff) | 0x8000,
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
|
||||
);
|
||||
/**
|
||||
* Generate an all binary 1:s UUID
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function max(): string {
|
||||
return "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a version 4 UUID
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public static function v4(): string {
|
||||
return sprintf("%04x%04x-%04x-%04x-%04x-%04x%04x%04x",
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
||||
mt_rand(0, 0xffff),
|
||||
mt_rand(0, 0x0fff) | 0x4000,
|
||||
mt_rand(0, 0x3fff) | 0x8000,
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue