PHP 开发框架 Yii 毕业论文设计+源代码+课程设计

3995
    


来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
联系方式 :
免费下载 ×

下载APP,支持永久资源免费下载

限免产品服务请联系qq:1585269081

下载APP
免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
下载 ×

下载APP,资源永久免费


如果出现不能下载的情况,请联系站长,联系方式在下方。

免费下载 ×

下载论文助手APP,资源永久免费

免费获取

如果你已经登录仍然出现不能下载的情况,请【点击刷新】本页面或者联系站长


摘   

社区论坛管理系统是互联网上的一种电子信息服务系统。每个用户都可以在在论坛上提出自己的想法。近些年来,通过编程人员和很多爱好者的努力,BBS论坛的功能得到了很大的扩充。而如今的BBS论坛系统功能更丰富,允许用户之间分享工具软件,技术文档等资源。如何设计稳定的BBS系统,是每个开发人员必须要考虑的问题,一个成功的BBS系统可大大提高承载此论坛的网站点击率,为了使一个论坛系统发挥更大的作用,使企业的用户加入到产品、服务等内容的讨论上来,对企业的发展有很好的促进作用。

论文介绍了课题研究的背景和意义及国内外发展状况,详细介绍了课题采用的相关技术。结合用户业务基本要求,进行了详细的分析研究,确定该系统主要功能包括七大模块:个人用户管理功能、论坛内容展示功能、会员管理与维护功能、分区管理与维护功能、板块管理与维护功能、文章管理功能和回帖管理功能。本文较为详尽的阐述了主要功能模块的实现过程。

本系统使用Zend Studio集成开发环境编写,并使用基于MVC模式的Yii框架技术进行开发。利用Sphinx全文检索引擎实现文章搜索。系统前台数据采用文件缓存和Memcache缓存技术,可以大大提高用户体验。后台数据库使用甲骨文公司的Mysql数据库,利用SQLyog实现对数据库的管理和操作。在以面向对象的程序设计技术为指导思想的前提下,完成了本系统的具体实现过程。系统解决了大访问量下对网站的压力,对使用该系统的企业发展有很好的辅助作用。

关键词:论坛管理系统;全文检索;Sphinx;Memcache;Mysql

 

 

 

 

 

 

 

Abstract

Community Community forum management system is an electronic information service system on the Internet. Every user can put forward his ideas in the forum. In recent years, through the programming of personnel and many enthusiasts, the function of the forum BBS has been greatly expanded. And today's BBS forum system features richer, allowing users to share between the tools and software, technical documentation and other resources. How to design the stability of the BBS system, each developer must consider the problem, a successful BBS system can greatly improve the bearing of this forum website click rate, in order to make a forum system play a greater role, the enterprise user added to the products, services, and other content are discussed, the development of enterprises has a good role in promoting.

This paper introduces the background and significance of the research and the development of the domestic and foreign, and introduces the technology of the subject.. Combined with the business users basic requirements, detailed analysis and research, identify seven modules: individual user management function, the content of the Forum display function, member management and maintenance functions, partition management and maintenance functions, sector management and maintenance functions, article management function and replies management function, including the main function of the system. This paper expounds the realization of the main function modules in detail..

This system uses Studio Zend integrated development environment, and uses the Yii framework technology based on MVC mode to develop. Use Sphinx full-text search engine to achieve the article search. System foreground data using file caching and Memcache caching technology can greatly improve the user experience. Database using the Oracle Corp Mysql database, using SQLyog to achieve the database management and operation. In the premise of the object oriented programming technology, the concrete realization of the system is completed.. The system has solved the pressure of the website under the large amount of visit, and has good assistant for the development of the enterprise.

Keyword: Forum management system; full-text search; Sphinx; Memcache; Mysql

 

 

    录

摘    要........................................................................................................................... I

Abstract......................................................................................................................... II

目    录........................................................................................................................ IV

第 1 章 引    言......................................................................................................... - 1 -

1.1 系统开发背景............................................................................................. - 1 -

1.2 国内外发展状况......................................................................................... - 2 -

1.2.1 国内方面........................................................................................... - 2 -

1.2.2 国外方面........................................................................................... - 2 -

1.3 研究内容及目标......................................................................................... - 3 -

第 2 章 相关技术综述............................................................................................. - 4 -

2.1 Zend Studio.................................................................................................. - 4 -

2.2 Yii框架........................................................................................................ - 5 -

2.3 Sphinx.......................................................................................................... - 5 -

2.4 UEditor........................................................................................................ - 5 -

第 3 章 系统分析与设计......................................................................................... - 7 -

3.1 系统分析..................................................................................................... - 7 -

3.2 系统运行环境............................................................................................. - 7 -

3.2.1 系统安全性....................................................................................... - 8 -

3.2.2 系统通用性....................................................................................... - 8 -

3.3 功能设计..................................................................................................... - 8 -

3.4 数据库设计............................................................................................... - 10 -

3.5关键问题讨论........................................................................................... - 13 -

3.5.1数据库设计..................................................................................... - 13 -

3.5.2访问量大时的解决方法................................................................. - 13 -

3.5.3搜索功能......................................................................................... - 13 -

第 4 章 系统功能详细实现................................................................................... - 14 -

4.1 个人用户管理功能................................................................................... - 14 -

4.2 论坛内容展示功能................................................................................... - 16 -

4.3 会员管理功能........................................................................................... - 19 -

4.3.1 添加会员功能................................................................................. - 19 -

4.3.2 会员管理功能................................................................................. - 22 -

4.4 分区管理功能........................................................................................... - 25 -

4.4.1 添加分区......................................................................................... - 26 -

4.4.2 分区管理......................................................................................... - 28 -

4.5 版块管理功能........................................................................................... - 30 -

4.5.1 添加版块......................................................................................... - 30 -

4.5.2 版块管理......................................................................................... - 32 -

4.6 文章管理功能........................................................................................... - 35 -

4.6.1 查看文章列表................................................................................. - 35 -

4.6.2 删除文章......................................................................................... - 36 -

4.7 回帖管理功能........................................................................................... - 37 -

4.7.1 查看帖子列表................................................................................. - 37 -

4.7.2 删除回帖......................................................................................... - 39 -

第 5 章 结    论....................................................................................................... - 40 -

参 考 文 献............................................................................................................. - 41 -

致    谢.................................................................................................................... - 42 -

 

 

 

第 1 章      言

在现在快速发展的社会,互联网技术得到更快的发展,已经不是日新月异就能形容的信息化世界里,更加动态性、交互性与时速性的网络论坛成为其中最快速、最丰富和最自由的网络信息资源,也是最受广大的现代人类欢迎的信息交流方式之一。

1.1 系统开发背景

论坛管理系统是一种对某些问题、看法互相学习的系统,论坛系统的作用在于提供给用户彼此交流的空间,这种交流的方式浏览帖子和发表帖子以及回帖。因此对于帖子的管理是BBS系统的一个核心功能,发表帖子的权利可以只对特定的人群。互联网上的优质资源很多,我们每天都会接触到很多不同的优质资源,比如实用的网站,有用的资讯等等,大部分网站是利用PHP语言编写[1]。BBS是Bulletin board system的缩写,中文含义是电子公告板。它是一种交互性强,内容丰富而即使的Internet电子信息服务系统。用户在BBS站点上可以获得各种信息服务,发布信息,进行讨论,聊天等等。其界面一般是以文字为主,主要目的是为广大网友提供一个彼此交流的空间,其最大的优点是自由平等,快捷互动。

BBS最早是用来公布股市价格等类信息的,当时BBS连文件传输的功能都没有,而且只能在苹果计算机上运行。早期的BBS与一般街头和校园内的公告板性质相同,只不过是通过电脑来传播或获得消息而已。一直到个人计算机开始普及之后,有些人尝试将苹果计算机上的BBS转移到个人计算机上,BBS才开始渐渐普及开来。近些年来,由于爱好者们的努力,BBS的功能得到了很大的扩充。而如今的BBS系统功能更丰富,允许用户之间分享工具软件,技术文档等资源。BBS论坛系统突破了地域和时间的限制,实现了全球性资源共享,有助于人们学习,工作,生活,同时提高了人们的交流信息、思想和解决问题的能力。如何设计、建立一个经济、实用、全面、高效、稳定的BBS系统,是每个开发BBS系统的程序员必须要考虑的问题,一个成功的BBS系统可大大提高承载此论坛的网站点击率,使企业的用户加入到产品、服务等内容的讨论上来,起到收集反馈资料的作用,对企业战略的发展有很好的参考作用。

1.2 国内外发展状况

1.2.1 国内方面

中国大陆最早的BBS站是北京长城站,由于限于互联网尚未开始普及的条件,当时用户访问量每天只有十几人。随着计算机及其外设的大幅度降价、互联网在国内的快速发展,BBS及Forum逐渐被认识,并以惊人的速度发展起来。大陆的BBS论坛在2000年达到一个发展顶峰,各种BBS站大量涌现,BBS论坛(续致信网上一页内容)功能不断改进,内容涉及领域几乎无所不包。此后,由于发展的无序和管理的不善,在网络泡沫的冲击之下,很多BBS论坛迅速消亡。之后,国内BBS论坛进入调整和成熟时期,成为现实社会的缩影。在历次《中国互联网络发展状况统计报告》中,BBS论坛仍然是国内互联网最重要的应用之一。多数研究者认为,BBS论坛简单,易用,实用的特点日益突出,今后BBS论坛将向个性化和专业化的方向发展。

1.2.2 国外方面

社区论坛在国外最开始主要用于BBS成员之间的信息交流与网络通讯,那时还没有浏览器、搜索引擎,甚至没有个人网站。当时BBS主要有四项功能应用:发布新闻、发布交易信息、发布个人感想、互动式问答。目前在国外BBS的主要应用转移到论坛上,也就是现在为大多数人所接受的BBS概念。因此,互联网技术的发展,使得BBS在西方国家的影响力正逐渐减小,以美国为例,绝大多数高校基本上没有开设BBS,少数BBS站的存在主要用于提出或解决问题,集中表现为技术类BBS,针对软件或商品的技术支持BBS等。相比于人气极旺的中文BBS,它们并不存在复杂的管理机制和舆论调控行为。在这些BBS上,注重的是发帖和回帖的就事论事,区别于中文BBS的人与人的交流。

国外对BBS的直接研究很少,间接的研究主要集中在对网络社会、虚拟社区方面。如针对网络社会中的人际关系、行为方式、价值观念和社会结构等,对虚拟社区的自身特征及虚拟社区中的社会问题等进行广泛研究。著名的研究成果有曼纽尔·卡期特的《网络社会的崛起》、霍华德·莱茵戈德的《虚拟社区》、尼尔·巴雷特的《数字化犯罪》等。

1.3 研究内容及目标

本文主要先全面系统的分析BBS论坛管理系统的实际业务流程,然后进行模块化的设计,再然后针对实际业务中存在的难点问题提出了较好的解决方案,并对各系统功能进行了详细方案设计。

根据本系统的特点,可以将其分为前台和后台两个部分,前台主要包括用户个人管理和论坛内容展示两个部分,而后台主要包括会员管理,分区管理,板块管理,文章管理和回帖管理五个部分[2]。预期目标,管理员和会员可以在后台添加分区及板块等,普通用户可以在前台发表及回帖,以及最后系统上线。通过BBS论坛的方式,使用者可以在论坛上发布各项通知,可以让用户,游客能够及时准确的了解想要了解的动态,同时通过交流平台能够展示每一个用户的各种能力,发布个人对一些事物的看法,增强人与人之间,团体与团体之间,个人与团体之间的互动交流。

系统中的主要代码使用Sublime Text3编写,主要采用的语言是PHP。符合MVC架构[3],本网站采用现在很流行的B/S开发模式,采用Yii框架进行开发,与MySQL数据库高性能组合,完全可以满足上述功能的需求,软件界面简易,流程合理,结构清晰,满足用户视觉使用习惯。易使用和维护等,将实施成本降到了最低。对软件使用与实施具重要意义。由于本系统采用PHP语言开发,代码编写符合在Linux下的编写要求。因此可以运行在任何环境下,包括:Windows、Linux和Unix等主流操作系统。系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。

论坛系统的研究目标是前台对所有的数据进行展示,以及利用网络文本编辑器实现发帖和回帖。搜索功能利用斯芬克斯检索。后台分区、版块和文章的管理。和该系统要完成无限分类对分区和板块的改善。以及RBAC对权限进行分配[4]

 

 

 

 

第 2 章 相关技术综述

本系统使用Zend Technologies公司开发的PHP语言集成开发环境Zend Studio。主要是使用基于MVC模式的YII框架进行开发。后台数据库是目前属于Oracle公司的Mysql数据库。利用Sqlyog数据库管理工具实现对数据库的管理和操作。系统前台文章搜索功能是一个基于SQL的全文检索引擎Sphinx。Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为毫秒级[5]。系统编辑文字运用了所见即所得的开源富文本编辑器UEditor,具有轻量、可定制、用户体验优秀等特点。

2.1 Zend Studio

Zend Studio是Zend Technologies开发的PHP语言集成开发环境(IDE)。也支持HTML和js标签,但只对PHP语言提供调试支持。它包括了PHP所有必须的开发部件。通过一整套编辑、调试、分析、优化和数据库工具,Zend Studio 加速开发周期,并简化复杂的应用方案。Zend Studio支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排和代码复制功能,内置一个强大的PHP代码调试工具,支持本地和远程两种调试模式,支持多种高级调试功能[6]

Zend Studio可以在Linux、Windows、Mac OS X上运行。Zend Studio的强大之处,除了一般编辑器所具有的代码高亮,语法自动缩进,书签功能外,它内置的调试器更是无可挑剔,支持本地和远程(debug server)两种调试模式,支持诸如跟踪变量单步运行断点堆栈信息、函数调用、查看实时输出等多种高级调试功能。通过完全的PHP5支持、编码分析器、编码组合功能、语法检索、项目管理器、编码编辑器、绘图调试器(向导)。超强智能编码:具备新的和更优秀的分析和优化工具像PHP编码检测器,。PHP的标准记录工具--PHP文档记录器:非常容易记录PHP代码、程序应用和方案。FTP和SFTP组合简化配置,使开发者安全地从远程服务器灵活的上载和下载项目文件。

2.2 Yii框架

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能[7]。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

 Yii 具有高度的可重用性和可扩展性,是纯粹的面向对象的。Yii中的一切都是独立的可被配置,可重用,可扩展的组件。更重要的是Yii有着越来越多的扩展库。这可能有助于大大减少开发时间。

2.3 Sphinx

Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件[8]

Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。

2.4 UEditor

UEditor是一种轻量、可定制开源富文本编辑器,开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用。百度UEditor可以帮助不少网站开发者在开发富文本编辑器所遇到的难题,节约开发者因开发富文本编辑器所需要的大量时间。UEditor中所有的功能型实现都是通过命令插件层中的命令和插件来完成的,并且各个命令和插件之间基本互不耦合——使用者需要使用哪个功能就导入哪个功能对应的命令或者插件文件,完全不用考虑另外那些杂七杂八的JS文件。理论上来讲,所有的命令都是可以用插件来代替的,但是依然将两者分开的主要原因是命令都是一些静态的方法,无需随editor实例初始化,从而优化了编辑器的性能。而插件随编辑器的初始化而初始化,性能上会有少许的影响,但相比命令而言,插件能够完成更加复杂的功能。其中最主要的一个特点是在插件内部既可以为编辑器注册命令,也可以为编辑器绑定监听事件。这个特点使得为编辑器添加任何功能都可以在插件中独立完成。

 

 

第 3 章 系统分析与设计

具体而又详细的系统分析与设计是很重要的环节,是详细设计成败的重要基础和必要条件。一个BBS论坛可以大致分为以下流程:用户登录进入论坛(一半为游客,有时候注册为会员),就某个话题展开讨论。通过发帖功能发布新的话题,通过回帖功能回复已有的话题,通过搜索功能查找已有的话题。管理员通过功能创建、编辑、删除论坛的版块,管理帖子。这样的流程决定了BBS论坛系统的需求与设计。

3.1 系统分析

论坛管理系统最重要的就是前台浏览论坛和后台管理论坛数据两部分,本系统对两部分的架构都做了详细的设计,前台主要包括用户个人管理和论坛内容展示两个部分,而后台主要包括会员管理,分区管理,板块管理,文章管理和回帖管理五个部分。

从硬件上讲,计算机硬件的速度现在已经不是问题,大容量高速度的硬盘十分普遍了,同时网络速度的提高,这些为系统的运行打下了坚实的基础。从软件的角度上讲,数据库技术也已经相当成熟,比如本系统所用处理能力很强的Mysql数据库,同时基于Yii框架进行开发,将试图、模型已经进行了分层,减少了耦合,提高了代码的重用性。

3.2 系统运行环境

本系统运行环境是WAMP,也就是采用B/S 结构,即大家熟知的客户机和服务器结构。Apache是最通用的网络服务器;Mysql是带有基于网络管理附加工具的关系数据库;PHP是流行的对象脚本语言,它包含了多数其它语言的优秀特征来使得它的网络开发更加有效[9]。开发者在Windows操作系统下使用这些Linux环境里的工具称为使用WAMP。

B/S一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Internet Explorer服务器安装SQL ServerOracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互[10]。           

3.2.1 系统安全性

用户登录密码采用MD5加密算法。保证用户在登录时更加的安全。密码同时也不易遗失。

系统所有操作数据库采用PDO,PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。PDO类能防止SQL注入,使网站系统更加健壮[11]

登录论坛系统时添加验证码功能,验证码一般是防止批量注册的,人眼看起来都费劲,何况是机器。像百度贴吧未登录发贴要输入验证码大概是防止大规模匿名回帖的发生目前,不少网站为了防止用户利用机器人自动注册、登录、灌水,都采用了验证码技术。

3.2.2 系统通用性

本系统代码编写严格符合在Linux下要求,因此在Linux下也能正常运行,通常系统最后发布都要发布在Linux系统下[12]

3.3 功能设计

结合目前互联网各大论坛核心业务的分析,制定BBS论坛管理系统建设方案。经过详细的分析和研究,确定该系统在结构上基本上分为:论坛前台和论坛后台管理两部分。

功能设计上本系统主要包括七大功能:个人用户管理功能、论坛内容展示功能、会员管理功能、分区管理功能、版块管理功能、文章管理功能和回帖管理功能。每个大的功能模块下又细分出具体的小的功能模块。

个人用户管理功能:

用户访问论坛首页进行登录,没有账号可以进行注册,然后进入论坛添加用户的详细信息,包括头像,邮箱等等,以及对所有表单数据的验证。。

论坛内容展示功能:

(1)发帖和回帖功能:用户对自己感兴趣的板块可以发表文章或者进行回帖。该系统采用UE编辑器,使发表文章时有更加丰富的内容。

(2)浏览帖子功能:在顶级分区下模块区可以查看对应模块下的文章及回帖总数,及文章和回帖的最后发表时间。在文章详细页面可以查看每个用户的头像等详细信息。

会员管理功能:

管理员可以添加会员,对会员的个人信息进行管理,删除会员。会员也可以添加分区及板块

分区管理功能:

管理员可以添加分区,对分区进行操作。删除分区时,如果该分区下面有板块,则要先完成删除该分区下的板块。

版块管理功能:

管理员可以添加板块,对版块进行操作。删除板块时,如果该板块下有文章,则要先完成删除该板块下的文章。

文章管理功能:

管理员对前台用户发表的文章进行管理,对不符合论坛要求的相关内容进行删除。

回帖管理功能:管理员对前台游客以及会员回帖进行管理,对不符合论坛要求的回复进行删除。


免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。
扫描加我微信 ×

演示

×
登录 ×


下载 ×
论文助手网
论文助手,最开放的学术期刊平台
							 
回复
来来来,吐槽点啥吧

作者联系方式

×

向作者索要->