本文整理汇总了PHP中Uuid::initialize方法的典型用法代码示例。如果您正苦于以下问题:PHP Uuid::initialize方法的具体用法?PHP Uuid::initialize怎么用?PHP Uuid::initialize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Uuid
的用法示例。
在下文中一共展示了Uuid::initialize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: v5
/**
* Return a type 5 (SHA-1 hash) uuid
*
* @param String $namespace The namespace to use
* @param String $name The name to use
* @return String The newly generated UUID
*/
public static function v5($namespace, $name)
{
if (!self::isValidUuid($namespace)) {
return false;
}
Uuid::initialize();
if (self::$method == self::USE_PECL_MAKE) {
uuid_make(Uuid::$uobject, UUID_MAKE_V4);
@uuid_export(Uuid::$uobject, UUID_FMT_STR, &$uuidstring);
return trim($uuidstring);
}
// Get hexadecimal components of namespace
$nhex = str_replace(array('-', '{', '}'), '', $namespace);
// Binary Value
$nstr = '';
// Convert Namespace UUID to bits
for ($i = 0; $i < strlen($nhex); $i += 2) {
$nstr .= chr(hexdec($nhex[$i] . $nhex[$i + 1]));
}
// Calculate hash value
$hash = sha1($nstr . $name);
return sprintf('%08s-%04s-%04x-%04x-%12s', substr($hash, 0, 8), substr($hash, 8, 4), hexdec(substr($hash, 12, 4)) & 0xfff | 0x5000, hexdec(substr($hash, 16, 4)) & 0x3fff | 0x8000, substr($hash, 20, 12));
}