環境:
CentOSのLinuxリリース1908年7月7日(コア)
PHP 7.3.11
UUID拡張について1.0.4
UUID感のためのPHPのサポートは本当に深刻ないないようです、UUID PECL拡張モジュールは単にlibuuidパッケージ化すると、簡単なように、他の言語のように完全な実現のUUIDを提供することではありません。libuuidは唯一のバージョン1とバージョンUUID 4、そう......幸せこれら二つで十分それを提供しているので。
uuid_create([int型$ uuid_type = UUID_TYPE_DEFAULT]):文字列
$ uuid_type
以下の定数のいずれか:
UUID_TYPE_DEFAULT // 0
UUID_TYPE_TIME // 1
UUID_TYPE_DCE // 4
UUID_TYPE_NAME // 1
UUID_TYPE_RANDOM // 4
libuuid 1及び4は、達成するUUIDのバージョンを提供するだけでなく、唯一定義 UUID_TYPE_DCE_TIME と UUID_TYPE_DCE_RANDOM 2つの定数です。PHPのUUIDの拡張機能、定数が定義することにより、一定のマッピングlibuuidです。だから、一方拡張はUUID標準名称に係る4つの定数を定義するが、libuuidの現在のバージョンのため、それだけで2つの定数にマッピングすることができます。 UUID_TYPE_TIME 定数をマッピングはlibuuid UUID_TYPE_DCE_TIME 実装バージョン1に対応し、UUIDと、 UUID_TYPE_RANDOMは 一定libuuidにマッピング UUID_TYPE_DCE_RANDOM UUIDバージョン4を実装するために対応します。 UUID_TYPE_DCE と UUID_TYPE_NAME 2つの定数、それは、UUIDバージョン2とバージョン3に定数の名前の対応から見ることは容易である5が、唯一の定数libuuidにマッピングすることができますが、 UUID_TYPE_DCE_RANDOM と UUID_TYPE_DCE_TIME 、使用することができますが、実用的な意義を持っていません。
定数 UUID_TYPE_DEFAULTは libuuidのデフォルトの選択を示す、デフォルト値です。デフォルトでは、本システムは、高品質の乱数である場合(例えば、/ devの/ urandomのまたは/ dev使用可能/ランダム)、UUID 4版、バージョン提供又はUUID 1が設けられています。UUIDバージョン1は、一般的に小さいの重複の確率は、ほぼ真の一意性を保証することができると考えられるが、MACは、セキュリティ上の懸念によるリークを考慮すると、ほとんどの時間かはUUIDバージョン4を使用する傾向があります。
リターン
パラメータは(0,1または4)有効であり、文字列のUUIDを返します。
引数が特定できない場合は、警告メッセージを投げると、デフォルトのUUID文字列に戻ります。
uuid_is_valid(文字列 $のUUID):BOOL
$ UUID
UUID文字列がテストされます。
リターン
trueまたはfalseを返します。$ UUIDは大文字と小文字を区別しません。
uuid_compare(文字列 $のUUID1、文字列 $ UUID2):int型
$ UUID1 、 $ UUID2
UUID文字列が比較されます。
returen
もし $ UUID1 または $ UUID2 ない有効なUUID文字列、ブール値の戻り値 をfalseに 。
場合は $ UUID1 と $ uui2 同一ではない: $ UUID1 < $ UUID2は 、正の整数を返し、 $ UUID1 > $ UUID2 、それは負の整数を返します。
もし $ UUID1 = $ UUID2 、値0の整数を返します。
uuid_is_null(文字列 $のUUID):BOOL
$ UUID
UUID文字列がテストされます。
戻る
場合は $ UUIDが 有効なUUID文字列ではありません、それは返し 偽 。
場合は $ UUIDが NULL UUID文字列ではありません、それが返されます 偽 。
場合は $ UUIDが NULL UUID文字列、リターンである trueに 。
UUID NULL
'00000000-0000-0000-0000-000000000000は、' NULL UUIDと呼ばれるUUID文字列0である(またはNIL UUID?)。
uuid_type(文字列 $のUUID):int型
$ UUID
UUID文字列がテストされます。
戻る
場合は $ UUIDが 有効なUUID文字列、戻り値ブールではありません 偽 。
場合は $ UUIDが NULL UUIDで、-1の整数値を返します。
場合は $ UUIDが 有効なUUID文字列がある、4または5、UUIDの対応バージョンを返します。
uuid_variant(文字列 $のUUID):int型
$ UUID
UUID文字列がテストされます。
リターン
場合は $ UUIDが 有効な文字列UUID、ブール戻り値の型の値ではありません falseに 。
場合は $ UUIDが NULL UUIDで、-1の整数値を返します。
場合は $ UUIDが 有効なUUID文字列で、それは整数値0、1または3を返します。
定数名が定義されてlibuuid、戻り値の意味を区別するのは簡単です:
UUID_VARIANT_NCSは // 0
UUID_VARIANT_DCE //を。1
UUID_VARIANT_MICROSOFT // 2
UUID_VARIANT_OTHER // 3。
uuid_time(文字列 $のUUID):int型
$ UUID
UUID文字列が解析されます。
リターン
場合は $ UUIDが あれば、有効な文字列UUIDではありません $ UUIDが 定義されて変種rfc4122ない(uuid_variantは()libuuid定義済みの定数で、1の値を返す UUID_VARIANT_DCE 場合、) $ UUID UUIDないバージョン1は、(上のベースUUID時間)、ブール値が返される falseに 。
場合は $ UUIDを 設定rfc4122 UUIDのバージョンに基づいて定義され、それは整数値を返します。UNIXタイムスタンプ値はUUIDの文字列を使用した構築されます。
uuid_mac(文字列 $のUUID):文字列
$ UUID
UUID文字列が解析されます。
リターン
場合は $ UUIDが あれば、有効な文字列UUIDではありません $ UUIDが 定義されて変種rfc4122ない(uuid_variantは()libuuid定義済みの定数で、1の値を返す UUID_VARIANT_DCE 場合、) $ UUID UUIDないバージョン1は、(上のベースUUID時間)、ブール値が返される falseに 。
設定した場合 $ UUIDを 使用するための有効なMACアドレスではなく、ブール値が返される falseに 。
場合 $ UUIDを 構成rfc4122のUUIDのバージョンに基づいて定義され、構成されている $ UUIDは、 有効なMACアドレス、MACアドレスは、返された12進数の文字列として表現されるときに使用されます。
uuid_parse(文字列 $のUUID):文字列
$ UUID
包装されるUUID文字列。
戻る
場合は $ UUIDが 有効なUUID文字列、戻り値ブールではありません 偽 。
場合は $ UUIDが 有効なUUID文字列がある場合、削除「 - 」パッケージの後にフロントとハイリターンの16ビットのバイナリ文字列に。PHPパック( 'L *')の影響で同様の機能。
uuid_unparse(文字列 $のUUID):文字列
逆プロセスの機能uuid_parse()。パラメータデータが有効であれば、UUID文字列が、それ以外の場合はブール値が返される falseにします 。
OK、それがすべてです。お役に立つといいのですが。
参考:
https://tools.ietf.org/html/rfc4122
https://sourceforge.net/p/libuuid/code/ci/master/tree/