最新のアプリケーション開発では、データの独自性とセキュリティを確保することが重要です。 GUID(グローバルユニークな識別子)とUUID(一般的な一意の識別子)は、この目標を達成するための一般的な基準です。 2つは構造が類似しており、特定のアルゴリズムによって生成される32文字で構成されています。 GUIDはMicrosoftの実装バージョンであり、UUIDは一般的なインターネット標準です。それらは同じ意味で使用されますが、生成メカニズムと形式にニュアンスがあります。
これら2つは通常、8-4-4-4-12の形式で表されます。たとえば、次のようになります。
D3B6F66D-57C1-44D6-A73C-7D3FEE6E2C23
全体は、5つの部分、つまり8文字、4文字、4文字、4文字、12文字で構成され、ハイフンで分離され、合計36文字です。
PHPでUUIDを生成するには多くの方法があります。これは、ネイティブ機能を介して、またはサードパーティライブラリの助けを借りて実装できます。次の例は、PHPネイティブ機能を使用してバージョン4 UUIDを生成する方法を示しています。
function generateuuidv4(){return sprintf( '%s-%s-%s-%s-%s-%s-%s'、bin2hex(random_bytes(4))、bin2hex(random_bytes(2))、bin2hex(random_bytes(2))、bin2hex(random_bytes(2)、bin2htes(2)、bin2htes(2)) );} $ uid = generateuuidv4(); echo $ uid;
このコードは、RANDOM_BYTES関数を使用して、生成されたUUIDが強いランダム性と一意性を確保します。
作曲家を介して成熟したUUIDライブラリをインストールすると、開発プロセスを大幅に簡素化できます。次のコマンドでRamsey UUIDライブラリをインストールします。
作曲家にはラムジー/UUIDが必要です
インストールが完了した後、UUIDは次のコードを使用して生成できます。
ramsey \ uuid \ uuidを使用します。 $ uid = uuid :: uuid4(); echo $ uid-> toString();
このライブラリは、簡単な生成方法をサポートするだけでなく、標準仕様とベストプラクティスへのコンプライアンスも保証します。
UUIDを生成した後、正しい解析と合理的な使用も同様に重要です。データベースストレージであろうとシステム送信であろうと、UUID形式の正確性を確保する必要があります。互換性の問題を回避するために、UUIDを文字列として保存することをお勧めします。
データベースでUUIDを保存すると、バイナリ(16)タイプを使用してストレージ効率とクエリパフォーマンスを向上させることをお勧めします。以下は、MySQLデータベースでユーザーテーブルを作成する例です。
テーブルユーザーを作成(IDバイナリ(16)nullプライマリキー、ユーザー名前varchar(50)not null);
UUIDを挿入するときは、最初にバイナリ形式に変換できます。
$ uidbinary = pack( 'h*'、str_replace( ' - '、 ''、$ uuid));ユーザー(id、username)values(?、?)に挿入;
PHP環境でのGUIDとUUIDの合理的な使用は、データの一意性を保証するだけでなく、システムのセキュリティと安定性を向上させます。この記事の紹介とサンプルコードを通じて、開発者はUUIDを生成、保存、解析する方法をすばやく習得し、プロジェクトが効率的に実行されるのを支援できます。データベースの設計であろうとインターフェイス開発であろうと、GUIDとUUIDの使用に熟練することは、最新のソフトウェア開発における重要なスキルです。