贴吧/盖楼的技术实现(PHP)
2015年3月5日 14:36:44
目标, 实现类似百度贴吧的基本功能
实现:
1. 存储, 将数据库(MYSQL)当作一个大的结构体数组, 每一条记录用作为一个结构体, 记录父帖信息, 子帖信息, 兄弟帖信息
2. 显示, 因为回复帖在浏览器中显示的时候也是独占一行, 只是比楼主的帖子多了些缩进而已, 因此我将所有的回帖(子回帖, 孙子回帖....脑补网易盖楼)都看做是有着不同缩进的普通帖子
3. 技术上, 将某一贴的所有回帖, 子回帖, 孙子回帖....一次性独到内存中(缺点,可用缓存解决), 用递归(多叉树遍历)的方法将帖子重新"排序"成一维数组, 然后顺序显示
4. "排序"的时候用到一个小技巧, 并不是用排序函数根据大小排序, 而是因为多叉树遍历的顺序就是最终显示的顺序, 所以遍历时, 将遍历的id一个一个的顺序保存下来到另一个数组,
而一次性读出的
显示的时候for循环这个id数组,
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。