Thinkphp による注文番号生成の小さなケース
日々のショッピング モールのプロジェクト開発では、誰もが注文番号生成の問題に遭遇するでしょう。今日は、Thinkphp を使って注文番号を生成する問題を説明します。
まず最初に、注文番号には 3 つの特性があることを明確にする必要があります。1. 一意性 2. 予測不可能性 3. 効率性 言うまでもなく、一意性と予測不可能性は、繰り返しを避けるためにデータベースに頻繁にクエリを実行できないことを意味します。
さらに、これらの条件を満たしながらも、注文数は十分に短くなければなりません。私の友人たちが、私と同じように、注文生成に関する小さな問題を日々のプロジェクトで考えたことがあるかどうかはわかりませんが、これらのことはあなたが思っているほど複雑にする必要はない、と言う人もいるかもしれません。実際、編集者もそれに同意しています。しかし、プログラムを作成するときに厳密さに注意を払うことは誰もが知っていますし、注文モジュールの開発では、注文番号の場所を誰もが知っていると思います。なぜそうなるのかを数分考えてみましょう。さて、今度は注文を生成する方法を説明します。
まず、注文を生成するにはどうすればよいでしょうか? time().rand(10000,99999); のように、タイムスタンプと乱数を使用できます。タイムスタンプはミリ秒まで正確です。もちろん、高同時実行条件下では、タイムスタンプを次のように単純に処理することもできます。このようにして、私たちが rand PHP 乱数関数を使用していることに友人も気づいたと思います。したがって、PHP の基本を学習したとき、乱数関数に遭遇したとき、私たちはまだ「乱数関数とは何だろう」と考えています。この機能の目的は何ですか?友達は今すぐ理解するはずです!もちろん、これを同様のプロジェクトで使用するためのメソッドにカプセル化することもできます。これにより、日常のコードの再利用性が向上し、コードの効率が大幅に向上します。それでは、エディタは誰でも簡単にサンプルを作成できるようになります。 :
関数 get_sn() {
return date('YmdHis').rand(100000, 999999);
}
もちろん、これは単なる例にすぎません。友達と一緒に楽しい小さなプログラムを開発する必要があります。