この記事では、主に、PHP フレームワーク Laravel での UUID の使用を紹介し、UUID に基づいて、関連する操作手順、実装スキル、および操作上の注意事項を例の形式で分析します。以下を参照してください
この記事の例では、PHP フレームワーク Laravel でデータ テーブル操作を実装するための UUID の使用について説明します。参考までに皆さんと共有してください。詳細は次のとおりです。
UUID
UUID は、マシン上で生成される番号を指し、同じ時間と空間にあるすべてのマシンに対して一意であることが保証されています。
簡単に言うと、ルールによって生成される固有の識別情報です(例: 事業者識別番号 + 年、月、日 + その日の自己増加デジタル形式)。当社のデータと情報の一部を関連付けるために使用されます。
例
以前プロジェクトに取り組んでいたときにこれを使用しました。今はLaravelフレームワークを使用して簡単なデモを作成します
フロントエンドフォーム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | <!DOCTYPE html>
<html>
<head></head>
<body>
<form action= "/addMysql" method= "post" >
{!!csrf_field()!!}
<table>
<tr>
<th style= "colspan:2" >注册</th>
</tr>
<tr>
<td>账号</td>
<td>
<input type= "text" name= "uname" value= "" />
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input type= "password" name= "pwd" value= "" />
</td>
</tr>
<tr>
<td>性别</td>
<td>
<input type= "radio" name= "sex" value= "1" />:男
<input type= "radio" name= "sex" value= "0" />:女
</td>
</tr>
<tr>
<td>年龄</td>
<td>
<input type= "text" name= "age" value= "" />
</td>
</tr>
<tr>
<td style= "colspan:2" >
<input type= "submit" value= "提交" />
</td>
</tr>
</table>
</form>
</body>
</html>
|
ログイン後にコピー
データベースとデータテーブルを構築します。 (詳細情報を保存するために、1つのインデックステーブルと8つのサブテーブルのみを作成します)
原則: UUIDの固有の特性により、データの詳細情報データは他のテーブルに保存されます。これは、インデックスがUUIDを通じてランダムに割り当てられることを意味します。 UUID とキー フィールドのみがテーブルに保存されます
1 2 3 4 5 6 7 8 9 10 | 表前缀统一前缀-------mall_
表 : mall_index_user 索引表 -------uuid,uname
表0: mall_user_0 uuid,uname,sex,age
表1: mall_user_1
表2: mall_user_2
表3: mall_user_3
表4: mall_user_4
表5: mall_user_5
表6: mall_user_6
表7: mall_user_7
|
ログイン後にコピー
ルーティングとコントローラーを通じてデータベースにデータを送信します
Routing:
1 2 3 4 5 6 | Route::get('Mysql', function (){
return view('home/Mysql');
});
Route::post('/addMysql','findMoreController@addMysql');
|
ログイン後にコピー
Controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public function addMysql(Request $request ){
$uuid =md5(uniqid(mt_rand (), true));
$uid =hexdec( substr ( $uuid ,0,1)) % 8;
$sex = $request ->input('sex');
$age = $request ->input('age');
$uname = $request ->input('uname');
$result = DB::table('index_user')->insert(['uuid'=> $uuid ,'uname'=> $uname ]);
$result1 = DB::table('user_'. $uid )->insert(['uuid'=> $uuid ,'uname'=> $uname ,'sex'=> $sex ,'age'=> $age ]);
if ( $result1 ){
return '1';
} else {
return '0';
}
}
|
ログイン後にコピー
説明:上記の$uidは、UUIDで取得したテーブルに挿入する詳細情報テーブルの代表番号です
例: $uid=3 次に、詳細情報をuser_3
Queryに挿入します。挿入が成功したら、まずクエリを実行します。 uname を通じて UUID を取得し、その UUID を使用して詳細情報がどのサブテーブルに格納されているかを確認します。次に、クエリ
Routing:
1 2 3 4 5 6 | Route::get('findMysql', function (){
return view('home/findMysql');
});
Route::post('/findMysql','findMoreController@findMysql');
|
ログイン後にコピー
Controller:
1 2 3 4 5 6 7 8 9 10 11 12 13 | public function findMysql(Request $request ){
$uname = $request ->input('uname');
$uuid =DB::table('index_user')->where('uname','=', $uname )->value('uuid');
$uid =hexdec( substr ( $uuid ,0,1)) % 8;
$userInfos =DB::table('user_'. $uid )->get();
if ( $userInfos ){
return view('home/selectMysql',['userInfos'=> $userInfos ]);
} else {
return view('home/findMysql');
}
}
|
ログイン後にコピー
Front-この時点で、UUID テーブルを使用してデータを処理する簡単な例が完成しました。
関連する推奨事項:
Laravel フレームワークで Redis を使用する方法
php での uuid の使用
以上がUUIDを使用してPHPフレームワークLaravelでデータテーブル操作を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。