Compare commits

..

No commits in common. "master" and "1.4.0" have entirely different histories.

View file

@ -2,42 +2,37 @@
namespace vlw\Scaffold\Helpers;
const UUID_LENGTH = 36;
/**
* Generate Universally unique identifiers
* Generate an all binary 0:s UUID
*
* @return string
*/
class UUID {
public const LENGTH = 36;
/**
* Generate an all binary 0:s UUID
*
* @return string
*/
public static function nil(): string {
return "00000000-0000-0000-0000-000000000000";
}
/**
* 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)
);
}
function uuid_nil(): string {
return "00000000-0000-0000-0000-000000000000";
}
/**
* Generate an all binary 1:s UUID
*
* @return string
*/
function uuid_max(): string {
return "FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF";
}
/**
* 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)
);
}