php+smarty轻松开发微社区/微论坛

时间:2023-02-06 11:06:20

今天我们就来分析微社区的基本功能构成吧。首先,每个论坛最主要的是会员在对应的版块下发帖,或者在感兴趣的主题帖下跟帖盖楼。其次,会员能时时看到帖子或版块的基本信息。所以主要大块是:

  1. 前台:会员的注册登录,浏览版块,发帖,跟帖,对自己的帖子操作,回复别人的帖子

  2. 后台:管理员对版块进行分级管理,添加或修改删除,对会员管理等等

微社区的几个主要功能:

一.人员

1.管理员:论坛后台的版块添加,删除等其他管理操作

2.会员:论坛前台的浏览,发主题帖子或回复别人的帖子(需要在指定版块下)

二.版块

有后台管理人员发布整理论坛的版块,发布者是分区版主,发布的同时可以添加增加当前版块的副版主

三.帖子:帖子就是内容,选在一个版块下由会员发表。

1.主题帖:会员个人在某版块下发布的(作者就是发帖人)

2.回复帖:会员本人在别人发布主题帖下的评论(盖楼)。其中一楼(沙发),二楼(板凳),三楼(地板)

四.验证题

为了防止发帖机或者恶意注册和发帖的程序,使用随机题目答题才能进行发帖提交到库,比随机图片稍微安全(因为现在有很多图片识别技术,所以需要手动更好点)

五.上传文件

发帖中的图片或者会员的头像上传等等。

六.帖子类别

1.原创

2.转帖

3.分享

4.求助

5.活动

php+smarty轻松开发微社区/微论坛

微社区数据库模

1.board:版块(id,pid,name,desc,uid,moderator,vice_moderator,add_time)

2.posts:帖子(id,bid,mid,uid,turn_id,type_id,title,content,tags,hits,source,is_essence,ip,add_time,is_remommed)

3.verify:验证题(id,question,type,answer1,answer2)

4.file:文件(id,uid,post_id,type,size,add_time)

5.user:人员(id,user,pwd,nickname,login_count,last_login_ip,last_login_time,state)

6.post_type:帖子类别(id,cate_name,state)

php+smarty轻松开发微社区/微论坛

后台管理模块

1.版块管理(列表,添加,修改,删除)

2.帖子审核(前台会员请求加精,后台人员审核)

前台管理模块

1.帖子管理(会员只能对自己的帖子进行修改或删除[可能可以对别人的帖子进行回复])

2.帖子发布(选择一个版块,再选择一种帖子类别,写标题,标签,内容,和回答问题即可提交)

php+smarty轻松开发微社区/微论坛

基本页面

1.index主页:以所有一级版块下的子版块循环列表,接受一个一级版块id展示其下的所有子版块的基本信息(版块名,版主,副版主,今日新帖,主题帖数,总帖数,最后更新的帖子信息(会员名,标题,时间等))

2.forumdisplay进入二级版块页面:通过接受二级版块id展示下面所有主题帖子(基本信息是:主题帖名称,作者,跟帖数/访问数,最后更贴的信息(时间,是谁)),分页显示,嵌入发帖的编辑框和一个发帖调转单独按钮

3.post发新帖表单单独页面

4.viewthread进入主题帖的详情页面,现在主题帖子和下面所有跟帖及会员的基本信息(头像|昵称|主题帖|共发帖)

5.admin后台管理页面:负责添加版块,修改,删除等

………………

php+smarty轻松开发微社区/微论坛

公共类

1.cls_mysql:php操作mysql的基本方法

2.cls_content:对帖子的列表,添加,删除,修改等操作的方法

3.cls_board:对版块的显示,修改,添加,删除等操作方法

包含文件

1.inc.php:包含smarty,三个公共类,config配置文件,进行实例化三个公共类及模板引擎的配置

配置文件

1.config.php: 数据库基本设置

php+smarty轻松开发微社区/微论坛

页面数据块

1.二级版块页面:从主页的*版块下点击二级版块名进入,带当前二级版块id

基本构成:

(1).当前版块名

(2).当前版块的版主和副版主们

(3).罗列当前版块下的所有主题帖子:

a.可根据帖子类别筛选(默认全部[1.讨论 2.原创 3.转载 4.求助])

b.类表可以分页

(4).在当前版块下发布帖子的表单

当前版块下主题帖字段:

(1).主题帖子的标题

(2).主题帖的发布者及他的最后登录时间

(3).该主题帖的跟帖数量和访问数量

(4).该主题帖子最后跟帖(跟帖时间,跟帖网友昵称)

2 .………………

php+smarty轻松开发微社区/微论坛

php+smarty轻松开发微社区/微论坛

php+smarty轻松开发微社区/微论坛

php+smarty轻松开发微社区/微论坛

--- 待续 ---

这个目前没有使用任何框架,原生php外加一个模板引擎制作,代码相对比较简单,方便阅读,就是自己封装了几个操作类和一个原生ajax函数,其他的基本是业务增删改查,后期我会放在github上,请持续关注此公众号,后面我会把开源地址奉上,共同学习成长!

php+smarty轻松开发微社区/微论坛

以下个人公众号(ZEROFC_DEV)

php+smarty轻松开发微社区/微论坛

php+smarty轻松开发微社区/微论坛的更多相关文章

  1. 社区活动分享PPT:使用微软开源技术开发微服务

    上周六在成都中生代技术社区线下活动进行了一个名为"微软爱开源-使用微软开源技术开发微服务"的技术分享. 也算是给很多不熟悉微软开源技术的朋友普及一下微软最近几年在开源方面所做的努力 ...

  2. 使用.NET Core+Docker 开发微服务

    .NET Core发布很久了,因为近几年主要使用java,所以还没使用过.NET Core,今天正好有一个c#写的demo,需要做成服务,不想再转成java来实现,考虑使用.NET CORE来尝下鲜, ...

  3. Spring boot 零配置开发微服务

    2018年12月29日星期六 体验Spring boot 零配置开发微服务 1.为什么要用Spring  boot? 1.1 简单方便.配置少.整合了大多数框架 1.2 适用于微服务搭建,搭建的微服务 ...

  4. 【微服务】之七:轻松搞定SpringCloud微服务-API权限控制

    权限控制,是一个系统当中必须的重要功能.张三只能访问输入张三的特定功能,李四不能访问属于赵六的特定菜单.这就要求对整个体系做一个完善的权限控制体系.该体系应该具备针区分用户.权限.角色等各种必须的功能 ...

  5. [学习笔记]尝试go-micro开发微服务<第一波>

    平时项目都是基于c++,lua,node, 现在打算开始自学开发微服务;   也顺带磨砺下go和docker 前期准备 1. 有golang编程基础 本系列文章是基于有golang编程基础,有过实际开 ...

  6. 【微服务】之二:从零开始,轻松搞定SpringCloud微服务系列--注册中心(一)

    微服务体系,有效解决项目庞大.互相依赖的问题.目前SpringCloud体系有强大的一整套针对微服务的解决方案.本文中,重点对微服务体系中的服务发现注册中心进行详细说明.本篇中的注册中心,采用Netf ...

  7. 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心

    在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Clou ...

  8. 从零开始,轻松搞定SpringCloud微服务系列

    本系列博文目录 [微服务]之一:从零开始,轻松搞定SpringCloud微服务系列–开山篇(spring boot 小demo) [微服务]之二:从零开始,轻松搞定SpringCloud微服务系列–注 ...

  9. 【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon

    对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可 ...

随机推荐

  1. Android Duplicate files copied in APK

    今天调试 Android 应用遇到这么个问题: Duplicate files copied in APK META-INF/DEPENDENCIES File 1: httpmime-4.3.2.j ...

  2. Ngui中Sprite,SlicedSprite,Tiled Sprite,FilledSprite的区别

    Sprite:标准Sprite控件,自适应图片大小. Sliced Sprite:一个含有9个切片的Sprite,创建固定边框的控件最佳选择,固定大小,不会随图片大小而改变,可做人物头像等. Tile ...

  3. bootstrap-datetime 的使用

    bootstrap-datetime js的下载 http://pan.baidu.com/s/1eQnE5dK html的代码 <div class="input-group dat ...

  4. Caffe源码解析1:Blob

    转载请注明出处,楼燚(yì)航的blog,http://www.cnblogs.com/louyihang-loves-baiyan/ 首先看到的是Blob这个类,Blob是作为Caffe中数据流通的 ...

  5. python 基础知识&lpar;一&rpar;

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  6. poj 2455 Secret Milking Machine 二分&plus;最大流 sap

    题目:p条路,连接n个节点,现在需要从节点1到节点n,不重复走过一条路且走t次,最小化这t次中连接两个节点最长的那条路的值. 分析:二分答案,对于<=二分的值的边建边,跑一次最大流即可. #in ...

  7. 剑指offfer:二维数组中的查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成这样一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 例如: 1    2  ...

  8. 初始化git库并配置自动部署

    1.初始化库 git init --bare wap.git 2.配置wap.git/config文件 [core] repositoryformatversion = 0 filemode = tr ...

  9. 一文看懂Transformer内部原理(含PyTorch实现)

    Transformer注解及PyTorch实现 原文:http://nlp.seas.harvard.edu/2018/04/03/attention.html 作者:Alexander Rush 转 ...

  10. 爬虫之 beautifusoup4

    1. 使用方法 2.解析器 3. 详细用法 4. find_all方法 5. 遍历文档树