PHP实现评论系统

参考“多说”和“畅言”等评论系统,自己使用PHP语言实现了一个简单的评论系统。并记录了两种方式(递归方式和非递归方式)的实现过程,以及分析两种方式的优缺点,前端如何实现没有展现。
首先设计数据库如下:

PHP实现评论系统_第1张图片
创建测试数据如下:

PHP实现评论系统_第2张图片
具体实现方案如下(在ThinkPHP框架上实现):
1、递归方式
优点:实现代码简单,而且如果评论的层级固定在5个层次一下的话,建议使用该种方法,这样前端通过这种数据结果实现简单。
缺点:如果评论的层级没有固定的话,前端将无法展示评论信息了,而且如果层级太多的话,将会极大的消耗内存,更要命的是每次递归都得查询数据库,性能将大大的降低。


PHP实现评论系统_第3张图片
部分数据展示如下:

PHP实现评论系统_第4张图片

2、非递归方式(堆栈方式实现)
优点:只查询一次数据库,性能较好。可以实现n层级的评论,前端也能很好的展示
缺点:代码稍微复杂,对于固定的层级评论,前端展示评论较为复杂。


PHP实现评论系统_第5张图片
数据展示效果如下:

PHP实现评论系统_第6张图片

你可能感兴趣的:(PHP实现评论系统)