毕业设计(论文)-基于thinkPHP的校园博客设计x.docx
《毕业设计(论文)-基于thinkPHP的校园博客设计x.docx》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于thinkPHP的校园博客设计x.docx(15页珍藏版)》请在冰豆网上搜索。
![毕业设计(论文)-基于thinkPHP的校园博客设计x.docx](https://file1.bdocx.com/fileroot1/2022-10/4/2b581a42-f6d1-484d-89d8-168a034a4f0f/2b581a42-f6d1-484d-89d8-168a034a4f0f1.gif)
全日制本科生毕业论文
`
题 目:
基于thinkPHP的校园博客设计
学 院:
计算机与信息科学学院
专业年级:
计算机科学与技术2011级
学生姓名:
学号:
指导教师:
职称:
副教授
2015年5月6日
基于thinkPHP的校园博客设计
计算机与信息科学学院 计算机科学与技术
摘 要:
本毕业设计是基于thinkpPHP框架制作的校园博客系统,有前端和后台两个部分。
前端本设计采用了Css+Div、JavaScript、Jquery等技术,后台采用了
MySQL、PHP、thinkPHP等相关技术,实现了前端博客展示、博客评论、搜索和后台的博客发布、用户信息的管理、修改、管理员操作等功能。
全套设计加扣3012250582
关键词:
thinkPHP;MySQL;JavaScript;jQuery;动态网页设计;博客
Abstract:
ThegraduationprojectisbasedonthecampusblogsystemthinkpPHPframemadewiththefront-endandback-officeintwoparts.Thefront-enddesignusesCss+Div,
JavaScript,Jquerytechnology,backgroundusingaMySQL,PHP,thinkPHPotherrelatedtechnology,thefront-enddisplayblog,blogcomments,searchandbackstageblogpublishing,managementofuserinformation,modify,administratoroperationsandotherfunctions.
Keywords:
thinkPHP;MySQL;JavaScript;jQuery;DynamicWebpagedesign;Blog
1研究背景
博客的出现,使我们在互联网世界第一次有了知识积累和文化指向,使人类
第14页(共13页)
由粗放的数字化生存过渡为个人化的精确目录式生存。
博客们将工作、生活和学习融为一体,通过博客日志,将日常的思想精华及时记录并发布,萃取并链接全球最有价值、最相关、最有意思的信息与资源。
校园博客是建立在校园网络中,是学生之间的信息分享平台。
同学梦通过校园博客这个平台,可以分享自己学习经验、文学创作和影片推荐等。
把个人所好传播出去,传播知识文化,供其他学生学习和欣赏,方便学生之间的学习交流,分享多一些快乐。
在大学中学生都是分专业学习,正好利用校园博客,在一起交流学习了解各专业各领域的知识。
2开发环境简介
为了方便系统的开发,使用XAMPP虚拟机。
XAMPP 虚拟机是一个易于安装,且包含MySQL数据库、PHP引擎和 Apache服务器[1]。
利用CSS设计前端页面,是能够真正做到网页表现与内容分离的一种样式设计语言[2],这样能更有效地提高系统开发都效率[3]。
2.1开发框架thinkPHP3.2
thinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,遵循
Apache2开源协议发布[4],从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用了面向对象的开发结构和MVC设计模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和
ActiveRecord模式。
thinkPHP可以支持windows/Unix/Liunx等服务器环境[5],正式版需要PHP5.0
以上的版本支持,支持了MySql、PgSQL、Sqlite等多种数据库[6],ThinkPHP框架本身没有什么特别模块要求,具体的应用系统运行环境要求视开发所涉及的模块。
2.2MySQL数据库
MySQL是一种关系数据库管理系统,MySQL使用了最常用的标准化SQL语言[2]。
其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选用MySQL作为网站数据库[7]。
在此项目中对MySQL的使用,通过NavicatforMySQL此软件来完成。
NavicatforMySQL是一款强大的MySQL数据库管理和开发工具[8],对于新用户易于学习。
提供类似于MySQL的用管理界面工具,解放PHP等程序员以及数据库设计者、管理者的大脑,降低开发成本,为用户带来更高的开发效率。
3课题分析
3.1博客结构分析
此网站为校园博客设计,使用thinkPHP框架来实现博客各项功能[9]。
首先要分析博客所需要的各项功能,前台有博客的显示、博客搜索、博客的评论。
后台有,普通用户的博客发布和本人信息的管理,管理员的对所有普通用户的个人信息、评论信息和博客信息的管理。
3.2网页用户需求分析
此博客对不同的访问者有不同的权限:
l游客:
只能对发布的博客浏览,可关键字搜索;
l普通用户:
可以在博客下进行评论,发布博客和修改个人信息;
l管理员:
除以上权限以外还可以修改普通用户发布的博客内容;修改普通用户信息、添加普通用户,修改评论信息。
4网站总体设计
4.1前台博客设计
前台网页浏览,没有权限限制。
方便访问者随意浏览。
l博客首页:
展示所有新发布的博客文章;
l博客版:
选择各类型博客的版块;
l博客搜索:
搜索本站博客文章;
l博客:
显示博客文章;
l热门博客、博主其他博客:
显示访问量大的博客文章,和博主新发布的文章;
l博客评论:
在博客内容窗口下方有访客评论。
下图4-1前台博客的功能描述。
前台页面
博
客首页
博
客版
博
客搜索
热
门博客
博
客访问
博
客评论
更
多博客
4-1前台博客
4.2后台博客设计
博客后台为注册用户提供了,博客发布管理,用户信息和密码管理。
同时为服务的管理员提供了,博客内容、评论内容、修改权限添加用户。
l注册、登录:
注册和登录是实现后台必要功能;
l博客发布:
每个用户可以发布自己编辑的博客;
l用户信息:
包含每个用户的博客中的昵名,博客空间名和性别等信息;
l修改密码:
修改的用户个人的密码的;
l用户添加:
管理员可添加新用户;可以对普通用户的信息进行更改;超级管理员可以更改管理员的信息管理,更改所有用户的权限;
l博客修改:
管理员对普通用户已发表的博客进行查看和修改;超级管理员则可以对管理员的博客进行管理;
l用户评论:
管理员可参考和修改博客评论;超级管理员可以对管理员的评论进行更改;
下图4-2后台博客的功能描述。
后台页面
登录
普通用户
管理员
博
客发布
用
户信息
修
改密码
添
加用户
博
客修改
用
户评论
图4-2后台博客
4.3整体的架构
博客系统采用了thinkPHP3.2框架,而thinkPHP3.2框架采用了
MVC(MVC是模型-视图-控制器)的设计模。
MVC设计模式将模型和视图
的代码分离,从而在开发系统中各模块的耦合度小[10],处理问题更方便。
lModel(模型)在应用程序中处理应用程序的数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
lView(视图)在应用程序中处理数据的显示部分。
通常视图是依据模型数据创建的。
入口文件
控制器
数据库操作
视图
lController(控制器)在应用程序中处理用户交互的部分。
下图4-3MVC模型关系。
图4-3MVC模型
5数据库设计
5.1创建数据库
博客网站使用MySQL数据库的管理软件NavicatforMySQL建立后台数据库blog。
建立的数据库blog包含以下几个数据表,分别为blog_blog(已发布的博客、blog_ping(博客的评论)、blog_type(博客的分类)和blog_user(用户的信息)。
(1)表blog_blog存储所有用户发布的博客信息,如表5-1所示。
表5-1 blog_blog表
字段名称 数据类型 宽度 主键否 必填字段 说明
id
int
8
是
是
博客编号,自增
blogname
char
32
否
是
博客名称
blog
text
0
否
是
发布的博客信息
userid
int
8
否
是
博主的编号
type
int
8
否
否
博客的分类
time
int
10
否
是
博客发布的时间
dian
int
10
否
是
博客的浏览次数
(2)表blog_ping为所有的用户对每个博客的评论信息,如表5-2所示。
表5-2 blog_ping表
字段名称
数据类型
宽度
主键否
必填字段
说明
id
int
8
是
是
评论编号,自增
thing
text
0
否
是
博客评论信息
blogid
int
8
否
是
评论博客编号
userid
int
8
否
是
评论者编号
pid
int
8
否
是
评论的级别
time
int
16
否
是
评论发表时间
(3)表blog_type为博客的的不同分类,如表5-3所示。
表5-3 blog_type表
字段名称
数据类型
宽度
主键否
必填字段
说明
id
int
8
是
是
分类编号,自增
name
char
16
否
是
分类的名称
(4)表blog_user为注册用户、管理员和超级管理员的信息,如表5-4所示。
表5-4 blog_user表
字段名称
数据类型
宽度
主键否
必填字段
说明
id
int
8
是
是
用户编号,自增
username
char
16
否
是
所有用户ID
password
char
16
否
是
用户密码
sex
char
8
否
否
用户性别
name
char
32
否
否
用户显示昵名
blognam
char
32
否
否
用户空间名
did
int
4
否
是
用户权限
6详细功能设计
6.1前台评论功能
在博客内容下用户都可以进行评论,博客内容在加载时,同时加载所有对于该博客的评论。
可以对再该评论进行评论,在加载评论时,对所有的该篇评论进行无限级分类的操作,实现评论的分级。
功能实现流程图6-1所示。
详细代码请见附录。
是
评论加载
加入评论中
发表评论
否
进行评论 是否登录
图6-1 用户评论流程图
6.2后台更改信