專案筆記之訂單號生成規則以及方法,第一篇!

思夢php發表於2016-09-09

小夥伴們在日常的商城專案開發中,都會遇到訂單號生成的問題,今天呢小編就帶領大家去解讀一下生成訂單號的問題!    首先,訂單號我們要明確它有有3個性質:1.唯一性  2.不可推測性3.效率性,唯一性和不可推測性不用說了,效率性是指不能頻繁的去資料庫查詢以避免重複。況且滿足這些條件的同時訂單號還要足夠的短。不知道小夥伴們在日常的專案中是否也和我一樣去思考過生成訂單的一些小問題,可能你也會說,這些東西不用想的那麼複雜,其實呢,小編也是同意大家的看法,但是殊不知我們做程式的都講究嚴謹性,而且在訂單模組的開發中,訂單號的位置相信大家都知道,所以呢,我們在寫這些小程式的時候,不妨花上幾分鐘去思考一下為什麼這樣去定義!好了,下面就告訴大家生成訂單的辦法了!    首先,我們生成訂單的方式呢:可以採用時間戳加隨機數的方式比如:time().rand(10000,99999);這樣呢就生成了一個15位的隨機數,時間戳呢精確到了毫秒,而後五位隨機數,也去除了高併發狀況下,訂單號重複的情況,當然了我們也可以把時間戳簡單的處理一下變成了:date(“YmdHis”).rand(10000,99999);這樣的方式,相信小夥伴們也注意到了我們一直在使用一個rand的PHP的隨機數函式,所以呢,當我們去學習PHP的基礎的時候,我們遇到隨機數的函式的時候,是不是還在想,這個函式到底是有什麼用途的呢?現在小夥伴們是不是應該明白了呢!當然了我們還可以將其封裝成一個方法,以備我們相似專案中使用,也提高了我們日常程式碼的可複用性,使我們的程式碼的效率也提高了不少,那要怎麼封裝呢,小編給大家寫一個簡單的小示例:function

get_sn()

{

return date(`YmdHis`).rand(100000,

999999);}當然了這只是一個簡答的小示例,更多更好玩的小程式,還是需要各位小夥伴一起去開發了!最後呢,有什麼問題可以聯絡小編,也可以加入小編的思夢PHP官方群號,我們平時還會有免費的實戰課程等著你來觀看!小編的聯絡QQ:476319748備註:微信公眾平臺   群1:466388300備註:微信公眾平臺 群2:527490769備註:微信公眾平臺  歡迎小夥伴的加入!


相關文章