參考「多說」和「暢言」等評論系統,自己使用PHP語言實作了一個簡單的評論系統。並記錄了兩種方式(遞歸方式和非遞歸方式)的實現過程,以及分析兩種方式的優缺點,前端如何實現沒有展現。
首先設計資料庫如下:
建立測試資料如下:
具體實作方案如下(在ThinkPHP框架上實作):
1、遞歸方式
優點:實作程式碼簡單,而且如果註解的層級固定在5個層次以下的話,建議使用該種方法,這樣前端透過這種數據結果實現簡單。
缺點:如果評論的層級沒有固定的話,前端將無法展示評論資訊了,而且如果層級太多的話,將會極大的消耗內存,更要命的是每次遞歸都得查詢資料庫,效能將大大的降低。
部分資料顯示如下:
#2、非遞歸方式(堆疊方式實作)
優點:只查詢一次資料庫,效能較好。可以實現n層級的評論,前端也能很好的展示
缺點:程式碼稍微複雜,對於固定的層級評論,前端展示評論較為複雜。
資料展示效果如下:
#以上內容實作了簡單的評論系統,想了解更多PHP相關內容,請造訪PHP中文網:PHP影片教學
以上是使用PHP簡單實現類似「暢言」等評論系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!