PHPでの長時間の使用UUID機能

環境:
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/

おすすめ

転載: www.cnblogs.com/cndavidwang/p/11939424.html