毕设论文基于PHP微博系统的设计与实现.docx
《毕设论文基于PHP微博系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《毕设论文基于PHP微博系统的设计与实现.docx(50页珍藏版)》请在冰豆网上搜索。
![毕设论文基于PHP微博系统的设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-2/5/210abeca-7b72-4133-8a39-fc3e061659f8/210abeca-7b72-4133-8a39-fc3e061659f81.gif)
毕设论文基于PHP微博系统的设计与实现
XXXX大学
毕业论文
二〇一二年六月
基于PHP的微博系统的设计与实现
专业班级:
计算机科学与技术58班
姓名:
高磊
指导教师:
信息学院
摘要
微博,是微型博客的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户以文字的形式更新信息,并实现即时共享。
微博的公开性和即时性使其成为目前发展最为迅猛的互联网业务。
PHP是一种运行于服务器端的HTML嵌入式脚本描述语言,相较于传统的动态解析语言,PHP拥有更好的稳定性和可操作性,运行效率更高;MySQL是一个最受欢迎的开源数据库管理系统,任何人都可以从Hitemet上下载和使用MySQL而不需要支付任何费用。
本文中将介绍常见的建立PHP+MySQL运行环境的方法以及如何在PHP中调用MySQL存储过程和函数完成微博系统的开发。
本文所论述系统开发的核心内容就是以PHP语言和MySQL数据库为基础,结HTML、CSS、JavaScript等语言实现将微博用户的最新信息即时传递给微博的关注者,让微博用户可以即时的看到关注对象的最新信息(包括用户的个人信息,发布新鲜事,转发好友的新鲜事,评论,回复等信息)的功能。
注册用户能通过好友管理找朋友(支持按条件筛选),对你喜欢的用户添加关注,发布带话题和图片的微博消息,评论你看到的用户发布的消息,回消息和查看私信等。
复对你的评论,可以给你关注的微博用户发站内私信,查看个人首页,查看回复。
关键字:
微博;互联网;PHP;MySQL
Abstract
Micro-BoistheabbreviationofMicroblogging.It'saplatformbasedoncustomerrelationshipforinformationsharing,disseminationandaccess.Userscanupdatetheinformationintheformoftext,andinstantsharing.TheopennessandimmediacyofthemicrobloggingmakeitbecomethemostrapiddevelopmentofInternetbusiness.
PHPisaHTMLembeddedscriptdescriptionlanguagerunningontheserver.Comparedwithdynamicanalysislanguage,PHPhasabetterstabilityandmaneuverability.Itsrunningismoreefficient.MySQLisamostpopularopensourcedatabasemanagementsystem.Anyonecandownloaditfromhitemetandthereisnoneedtopayanymoneytousethispopularopensourcedatabasemanagementsystem.ThispaperwillintroducethecommonmethodofestablishingPHP+MySQLoperatingenvironmentandhowtocallMySQLstoredproceduresandthefunctionstocompletethemicro-blogsystemdevelopmentinPHP.
ThecoreofthesystemdevelopmentcontentdiscussedinthispaperisbasedonPHPlanguageandMySQLdatabase.HTML、CSSandJavaScriptrealizethefunctionofinstantlytransmittingmicro-blogusers'latestinformationtomicro-blogfollowers.Thisfunctioncanletthemicro-blogusersseetheconcernedmicro-blogusers'latestinformation(Includingpersonalinformationoftheusers,releasingfreshthings,forwardingfriends'freshthings,comments,replyandotherinformation).RegistereduserscanfindfriendsinFriendsManagement(supportthefunctionofselectingbyconditions),addattentiontousersyoulike,releasemicro-blognewswithtopicsandpictures,commentmessagespostedbyusersyousee,replythemessagesandviewtheprivatelettersandothers.,replythecommentsonyou,sendprivateletterstomicro-blogusersyouconcerned,viewpersonalpages,viewreplyandsoon.
Keywords:
Microblog;Internet;PHP;MySQL
第1章绪论
1.1微博概述
微博,是微型博客的简称,是一个基于用户关系的信息分享、传播以及获取平台,用户可以通过WEB、WAP以及各种客户端组件个人社区,以少量文字更新信息,并实现即时分享。
现在微博已经成为了人们生活中不可或缺的一部分,亦是人们交流互相了解对方新闻的快速途径。
微博刚刚走进人们的视野就得到了人们的青睐。
微博广泛的分布在桌面、浏览器、移动终端等多个平台上,用户基数大,用户可以以迅速的方式随时随地了解不同地方的新闻,或者朋友的最新动态,也可以快速的发布自己的所见所闻跟所有人分享。
微博符合了大多数人如今的需求,快速、便捷,而且其原创性高,随时记录随时分享。
2009年随着3G(3rd-generation)技术的成熟和牌照的发放,正式拉开了中国移动互联网时代的序幕。
作为新生事物的“微博”以其简单易用性、广泛的影响力、快速传播力等,迎合了互联网时代的发展,迅速成为了互联网新兴起的一种集成化、开放化的互联网社交服务,被誉为一场“正在爆发的互联网革命”。
2010年国内微博迎来发展的春天。
微博像雨后春笋般崛起,新浪、搜狐、网易、腾讯、凤凰、和讯、搜房等综合门户均开始推出微博产品。
虽然只有几年时间,但中国微博用户量发展迅猛,据上海交通大学舆情研究实验室近日出炉的《2010中国微博年度报告》显示,目前中国微博活跃用户数量仅2010年上半年就已从一千万增至一千二百万[1]。
中国互联网络信息中心(CNNIC)发布的《第28次中国互联网络发展状况统计报告》示,2011年上半年,中国微博用户从6331万增至1.95亿,增长约2倍。
该《报告》指出,中国互联网的普及率增至36.2%,较2010年增加1.9%。
2011年上半年,我国微博用户数量从6331万增至1.95亿,半年增幅高达208.9%。
微博在网民中的普及率从13.8%增至40.2%[2]。
1.2选题背景
在美国硅谷创办的Twitter是微博界的首创者,同时也是现在世界上用户规模最大的微博网站,在全球120多个国家拥有至少超过18种语言的用户。
而微博发展到如今,Twitter已经有了许多不同的竞争对手,如Tumblelog等国外的微博网站。
等等国外的微博网站。
国内从2007年第一家带有微博色彩的饭否网开始,到2010年微博迎来春天,国内的微博网站也已经普及。
其中的佼佼者也有不少,如随心微博,被誉为国内最好、最主流、最受欢迎的清新、简约时尚微博网站,"随心"的寥言片语与朋友们一起分享生活中的心情点滴.可通过Web、客户端、手机等更新收发微博。
仅仅在中国,截止2011年2月,已经突破2亿的微博用户。
国内外的微博网站,主流都是基于PHP开发的,有部分则是用ASP来开发。
而相较于ASP,PHP有着不少优势。
如高级内存管理,在IIS4下,一个ASP脚本header.asp,如果被20个页面所包含,那么运行的时候,在内存当中会保留这20个header.asp的编译副本,IIS5解决了这个问题,但只有windows2000才支持IIS5,由于这种IIS5的不能向下兼容的原因,许多服务器仍然要使用IIS4下的低级的内存管理。
而在PHP中,不会存在这种问题,只有当require时,才会调用某个include文件。
又如PHP的运行速度比ASP快,PHP是开放源代码的编程语言。
ASP和PHP都是中型网站的较理想的解决方案,但PHP与MySQL的紧密结合使PHP更加优越[3]。
PHP有许多管理和维护MySQL的工具,对MySQL的支持是最全面的。
许多有用的函数如mysql_insert_id和mysql_affected_rows等,其他的数据库则没有。
因此,在未来很长的一段时间内,使用PHP来开发微博必定还是主流。
其中,对于微博研究的重点还在于海量数据的存储以及数据关系的操作效率。
1.3课题研究意义
中国微博市场尚处于用户培养期,用户粘性和用户行为延续性都还需要进一步提高。
国内微博市场的巨大潜力还有待开发。
另一方面虽然目前已有初步成熟的微博平台,但这些微博平台多是娱乐型性质,针对某一特定领域的内容型、应用型和商务型微博还未有足够发展。
微博系统在此背景下应运而生,它实现了目前多数微博系统所具有的基本功能,提供了一个便捷、开放、可独立部署和运营的微博平台建站系统和解决方案,并有助于在此基础上针对某一特定领域进行二次开发。
第2章相关技术介绍
2.1开发环境与平台
本系统是基于windowsXP操作系统、PHP的开发语言、Apache服务器、MySQL数据库开发的,PHP可以在多种系统平台上运行,APache服务器是世界上使用最多的web服务器,PHP能够作为仰acheweb服务器的模块执行,使得它的执行效率要高于普通的CGI程序,使用PHP进行开发前需建立其工作环境,而PHP的工作环境的建立比较的繁琐[4]。
目前只需安装XAMPP即可,XAMPP是一个功能强大的建站集成软件包。
它可以在Windows、Linux、solaris三种操作系统下安装使用,支持多语言:
英文、简体中文、繁体中文、韩文、俄文、日文等。
它集成了Apache服务器、MySQL数据库、pHp开发语言、pERL语言。
Apaehe作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。
由于这四个软件都是自由或开放源码软件,因此大大降低了使用成本,可以方便快捷地建立起一个稳定、免费的网站系统。
2.2系统开发工具
2.2.1PHP介绍
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用[5]。
其特点为:
(1)PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
(2)用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。
(3)PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户再一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。
(4)PHP具有非常强大的功能,而且支持几乎所有流行的数据库以及操作基于PHP招生管理信息系统的设计与实现系统。
(5)开放的源代码,及所有的PHP源代码事实上都可以得到。
(6)PHP是免费的,并且使用非常广泛。
(7)PHP是基于服务器端的,因此即使再多的用户,再复杂的程序也不会影响运行的速度。
综上所述PHP与其他语言相比首先它可以用在任何操作系统上,稳定性较高,执行效率快,开发时间短,学习门槛低,函数支持多等优点。
PHP的工作原理:
第一步:
客户向Web服务器发出请求。
浏览器将此PHP请求传送给支持PHP的web服务器。
第二步:
Apache服务器分析客户的请求,若为PHP文件,则将其交给PHP处理程序进行处理。
第三步:
所有同数据库相关的操作,都由PHP来完成。
PHP可以很好地完成同数据库的交互。
第四步:
PHP从数据库中取得数据后,将文件内容转化为HTML格式。
第五步:
将HTML格式的文件交给Apache服务器。
第六步:
Apache服务器再将其送给客户。
图2.1PHP工作原理图
PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
PHP安装它可以比CGICommonGateInterface或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多,PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现而且支持几乎所有流行的数据库以及操作系统。
至PHP5.0版本时,PHP已经非常全面地支持面向对象的设计思想。
PHP由于代码开源免费、开发快捷高效、跨平台性强等特点,已经成为WEB开放主流脚本语言之一,近年来已经出现以PHP技术为核心的大型商业应用案例。
故本系统根据系统特点决定采用PHP作为开发语言[6]。
2.2.2Apache服务器
Apache是目前互联网上使用最广泛的web服务器,它支持多种操作系统,如:
Unix、Linux、Windows等,功能强大。
它以快速、可靠、易扩展的特点在所有的服务器软件中占有优势,并且它的源代码开放,因此有大量的开发人员投入了大量的时间精力来逐步的将其完善,Apache不仅可作为web服务器,它还包含了代理服务器的功能。
当客户机使用URL请求访问远程资源时,Apache接受该请求并取得该资源以满足客户机的请求。
同时如果要创建一个每天有数百万人访问的Web服务器,Apache将是最佳选择。
本系统就是以Apache作为开发平台的,因为PHP能够作为Apacheweb服务器的模块执行,使得它的执行效率要高于其他的CGI程序,而且能比CGI或者Perl更快速地执行动态网页。
Apache、PHP在实际应用中为最佳组合。
2.2.3MySQL数据库
MySQL是一个最受欢迎的开源数据库管理系统,任何人都可以从hitemet上下载和使用MySQL而不需要支付任何费用。
同时也可以研究其源代码,并根据需要进行修改。
与其他的大型数据库相比,MySQL自有它的不足之处,如规模小、功能有限但对于中、小型应用系统是非常理想的,开源性降低了总体成本。
它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
MySQL特点:
1.使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。
2.支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统。
3.为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4.支持多线程,充分利用CPU资源。
5.优化的SQL查询算法,有效地提高查询速度。
6.既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。
7.提供TCP/IP、ODBC和JDBC等多种数据库连接途径。
8.提供用于管理、检查、优化数据库操作的管理工具。
9.可以处理拥有上千万条记录的大型数据库。
10.支持多种存储引擎。
11.MySQL是开放源码软件,建站成本低。
2.2.4B/S(Browser/Server)结构
B/S(Browser/Server)结构即浏览器和服务器结构。
它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
这种结构,建立在广域网之上的,有着更强的适应范围,客户一般只要有操作系统和浏览器就行,可以在任何地方操作,不需要安装专门的软件,特别是现在软件系统的改进和升级越来越频繁,B/S架构的产品明显体现的更方便的特性[7]。
无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行,而作为客户端,只需安装浏览器,浏览器通过W服务器同数据库进行数据交换,B/S结构与C/S结构相比大大降低了维护成本,特别是从Windows98开始,将浏览器植入到系统中,B/S这种结构就更加成为当前应用软件的首选体系结构。
BIS系统常常采用的三层体系结构,这三层体系结构在层与层之间相互独立,任何一层的改变不会影响其他层的功能[14]。
相应的,一个web工程的开发中也存在同样的三层逻辑结构。
(l)数据访问层:
实现对数据的访问功能,如增删改查数据。
(2)业务逻辑层:
实现业务的具体逻辑功能,如考生成绩管理等。
(3)页面显示层:
将业务功能在浏览器上漂亮的显示出来,如分页显示考生信息。
利用PHP技术实现的WEB浏览页本身就具备多页面、可视化编程的要求友好的界面有利于开发的人性化[8]。
图2.2三层体系架构示意图
2.2.5CSS布局方法
CSS是cascadingstylesheets(层叠样式表)的简称,语言是一种标记语言,它不需要编译,可以直接由浏览器解释执行,简单来说CSS可以使一个普通的网页通过添加CSS规则从而得到美观的网页[9],同时还可以通过添加不同的CSS规则,不需要改变HTML就可以改变整个网页的整体布局,减少工作量。
使用DW+CSS布局的优势的体现:
(l)页面样式调整更方便:
这样更加方便维护,只需改变几个CSS文件即可将网站的样式进行调整。
使得修改页面的时候更加省时、方便,如果对部分布局进行修改,也不会破坏页面其他部分的布局样式。
(2)页面容量小,代码简洁:
这样可以提高浏览页面的速度,同时也提高了搜索引擎对网页内容的搜索。
(3)符合W3C标准:
这样就保证了网络应用升级但网站不会被淘汰。
(4)支持浏览器向后兼容。
第3章系统分析
3.1需求分析
1.可用性
微博系统应对所有使用用户提供及时的服务。
系统应保证对24小时运作的客服系统的服务,系统维护时间应计划在服务的最低峰时间;让用户尽快地得到需要的信息,页面具有一致的使用风格,对用户可能出错的地方有预先的分析与防范,使用户得到较好的用户体验。
2.响应时间
进行数据查询时,当处于系统使用高峰期时应保证系统具有对95%的数据交互查询,更新提供3秒或更短响应时间的支持,当处于系统使用低峰期时应保证系统具有对95%的数据交互查询,更新提供2秒或更短响应时间的支持[10]。
当进行数据添加、更新时,系统内部应提供对请求处理的来源及响应时间的监控机制。
系统响应时间因不同外部数据源和使用系统的通讯和接口情况而有所差异。
3.可靠性
微博系统不应在正常操作中丢失数据,当用户正在使用系统时,系统不应瘫痪,应能够保证在线用户及时得到关注对象发布信息的推送,保证编码、语言正确,用户关注关系不混乱。
4.易于使用性
微博系统应有操作故障排除手册来帮助系统管理人员来快速解决系统问题。
系统的管理和操作界面应易于使用。
对95%的数据交互查询,更新提供2秒或更短响应时间的支持[10]。
当进行数据添加、更新时,系统内部应提供对请求处理的来源及响应时间的监控机制。
系统响应时间因不同外部数据源和使用系统的通讯和接口情况而有所差异。
3.可靠性
微博系统不应在正常操作中丢失数据,当用户正在使用系统时,系统不应瘫痪,应能够保证在线用户及时得到关注对象发布信息的推送,保证编码、语言正确,用户关注关系不混乱。
4.易于使用性
微博系统应有操作故障排除手册来帮助系统管理人员来快速解决系统问题。
系统的管理和操作界面应易于使用。
5.可扩展性
系统建设不仅要着眼于现在,而且要放眼未来,因此系统建设不仅要满足现在的要求,而且要具有向未来技术平滑过渡的能力。
即:
该系统的建立一定要具备良好的可扩展性,当信息量上升、网络规模扩大时,可方便地将服务器及其他设备进行升级服务,满足日益增长的业务需求,最大限度保护投资。
6.备份和灾难的及时恢复
微博系统应每天对所有运作相关的数据进行备份,以及备份的微博系统,防止运行系统瘫痪时能及时使用备份数据库重新提供系统的服务。
3.2系统目标
本文是针对目前国内主流微博产品所具备的主要特点和功能进行设计,具有对微博、话题、群组、好友等完整的功能,应具备如下特点:
1.完备的系统功能
本系统是一个功能完备的微博网站,可用于建站运行,也可在此基础上方便地进行二次开发。
2.灵活的系统设置
系统管理员可以根据需要,对于系统灵活地进行各种配置,例如开闭用户注册、过渡关键词、系统名称等,方便建站。
3.个性的个人管理
用户不仅可以设置昵称、性别、头像等基本信息,而且可以修改个人基本信息和详细信息。
根据本文应具备的特点,现提出主要目标如下:
1.实现基础功能,便于二次开发。
任何一款互联网产品都有特定应用领域,特定用户群体及其需求。
而本系统的定位于实现目前多数微博系统所具备的基本功能,并使其框架结构具备灵活、易用性、扩展性等特点,以便其它用户在此基础上针对具体应用进行二次开发。
2.博文应具备多媒体形式,含文字、图片、表情等。
微博的主要特点之一在于其具有“平民化”的特点,因而博文需要承载丰富的内容。
这便要求对于博文的信息呈现具有多样的形式。
所以除了文字以外,还需要有图片等多媒体呈现形式,和表情、分享等为满足“娱乐化”的功能。
3.本系统应该具备向用户推荐好友、博文、话题等功能。
当新用户注册登录后,需要有人性化的引导过程,其中应当包括推荐好友功能。
另外,推荐好友、博文、话题等,应当放到系统醒目位置,以便更加人性地服务用户,增加用户体验。
4.本系统提供关注好友功能以及群组功能。
微博平台主要以广播用户消息为主,故采用单向关注即允许在未经被关注者同意之下对其关注。
而群组功能,则类似于讨论组,由管理员针对某一特定关系群体创建,可由用户对群组广播消息,其它用户可查看群组消息。
5.用户提供对博文多种多样的操作。
当关注者对于某条博文非常感兴趣或观点而希望能够表达其想法时,本系统应当提供一些简单、便捷的使用方式,系统并可据此从而决定推荐关注度非常高的博文给所有用户。
6.