本文整理匯總了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));
}