基于CMF架构的网站毕业设计.docx
《基于CMF架构的网站毕业设计.docx》由会员分享,可在线阅读,更多相关《基于CMF架构的网站毕业设计.docx(53页珍藏版)》请在冰点文库上搜索。
基于CMF架构的网站毕业设计
摘要
在如今这个互联网盛行的时代,已经成为人们生活中随处可见的互联网媒介。
然而大多数人都只是在使用,却未曾了解是如何设计与实现的。
因而快捷有效的建站手段成为人们所关注的话题。
通过CMS(ContentManagementSystem容管理系统)来构建是目前十分流行的建站手段。
因而一款简洁易用,功能强大的CMS必将备受瞩目。
此时ThinkCMF框架,顺应时代需求应运而生ThinkCMF框架是基于PHP+MYSQL开发的一款中文容管理框架。
ThinkCMF同时作为第一款开源的中文容管理框架,使得WEB开发变得更简单。
ThinkCMF具有以下特点:
MVC分层模式、用户管理、云端部署、安全策略、应用模块化、免费开源。
在此,我们将了解如何利用ThinkCMF,结合Bootstrap、Wampserver、HBuilder等框架与工具来快速设计和实现。
关键字:
ThinkCMF;Bootstrap;Wampserver;HBuilder
Abstract
IntheageoftheInternet,thewebsitehasbecomeaubiquitousInternetmediainpeople'slives.However,mostpeopleareinuse,butdidnotknowhowthewebsitedesignandimplementation.Sothefastandeffectivemeansofbuildingbecomeatopicofconcern.ThroughCMS(contentmanagementsystemContentManagementSystem)tobuildthewebsiteisverypopularwebsitemeans.Soasimpletouse,powerfulCMSwillspotlight.AtthistimeThinkCMFemergeasthetimesrequire,whichisbasedonaChinesecontentmanagementframeworkforPHPMYSQLdevelopment.AtthesametimeastheThinkCMFChinesefirstopensourcecontentmanagementframework,makesWEBdevelopmenteasier.ThinkCMFhasthefollowingfeatures:
MVChierarchicalmodel,usermanagement,clouddeployment,securitystrategy,modularapplications,freeandopensource.Here,wewillknowhowtouseThinkCMF,Bootstrap,Wampserver,HBuildercombinedwiththeframeworkandtoolstoquicklydesignandimplementationofwebsite.
Keywords:
ThinkCMF;Bootstrap;Wampserver;HBuilder
1.引言
1.1研究背景
在如今这个互联网盛行的时代,已经成为人们生活中随处可见的互联网媒介。
然而大多数人都只是在使用,却未曾了解是如何设计与实现的。
因而快捷有效的建站手段成为人们所关注的话题。
通过CMS(ContentManagementSystem容管理系统)来构建是目前十分流行的建站手段。
因而一款简洁易用,功能强大的CMS必将备受瞩目。
而ThinkCMF是一款基于PHP+MYSQL开发的中文容管理框架。
对于ThinkCMF框架而言,其有着非常灵活和强大的应用机制,框架本身为用户提供了基础性的管理功能,而开发设计者便可以根据自身需求以应用的形式进行功能扩展。
且每个应用都可以独立自主的完成相关的任务,也能够通过系统调用其他应用进行系统组件之间的协同工作。
因而,在该种运行机制下,开发设计者无需关心所开发的应用部如何工作的,但是彼此之间又可通过系统本身进行自我协调,降低系统的耦合度,从而在很大程度上降低了系统的开发成本和沟通成本。
因此,如何利用ThinkCMF框架来设计和实现备受广大建站爱好者的关注。
1.2研究目的
随着Internet的不断发展和完善,如今的互联网已融入了我们生活的每个细节。
对于政府部门、企事业单位,甚至个人都需要在互联网上展示自己与他人互动交流,需要建立自己的。
这也说明互联网++的大数据时代早已到来。
而多年来的建设和维护一直是一项专业、复杂和高成本的工作。
大多数企业在资金、人才和技术方面的限制,往往导致企业无法承担建成的高额费用,当然维护也变得十分困难。
对于企业而言,如何高效地建设、简易地维护企业的成为困扰众多企业的难题。
选择一套合适的CMS系统进行建站是一个十分不错的选择。
ThinkCMF作为第一款开源的中文容管理框架,使得WEB开发变得更简单。
因此,研究基于ThinkCMF框架的设计和实现,旨在让更多对互联网陌生或是跨行业的人士快速掌握利用ThinkCMF框架开发。
1.3研究现状
国外在CMS领域,经过长时间的发展和完善,除了ThinkCMF,还涌现出了许多优秀的CMS产品。
国外,例如:
基于Java技术的OpenCMS、ossNukes等;基于.net技术的Ludico、nkCMS等;基于PHP技术的PhpNuke、PostNuke等;但由于语言方面的原因,大多数国外的CMS产品不能适应国的建站需要,于是国开发者也开发设计了许多CMS的产品,php方面:
PHPCMS、DedeCMS、帝国CMS等;.Net方面:
动易CMS、风讯CMS、逐浪CMS等;Java方面:
JEECMS、CMS4J、淘特CMS等。
对于企业而言,科学合理地选择一款恰当且合适的CMS进行建设可以使企业摆脱技术、人员、费用的限制,方便的建立起自己的,从而达到低成本高效率,对企业信息进行管理和企业营销宣传的目的,使得企业适应互联时代的大形势。
对于专门针对利用ThinkCMF来设计和实现的相关具体研究还未落实。
该项目旨在通过ThinkCMF框架来如何构建和设计,来诠释通过CMS建站是目前WEB开发领域的潮流,也是大势所趋。
因此,在这个小领域,仍然具有很高的研究潜能。
2.相关知识与开发工具介绍
2.1ThinkCMF
ThinkCMF是基于PHP+MYSQL开发的一款中文容管理框架。
ThinkCMF框架有着非常灵活和强大的应用机制,框架本身为用户提供了基础性的管理功能,而开发设计者便可以根据自身需求以应用的形式进行功能扩展。
且每个应用都可以独立自主的完成相关的任务,也能够通过系统调用其他应用进行系统组件之间的协同工作。
因而,在该种运行机制下,开发设计者无需关心所开发的应用部如何工作的,但是彼此之间又可通过系统本身进行自我协调,降低系统的耦合度,从而在很大程度上降低了系统的开发成本和沟通成本。
目前已更新到ThinkCMFX1.6.0版本。
ThinkCMF具有以下特性:
MVC分层模式:
ThinkCMF将MVC应用程序被划分成三个核心部件:
模型(M)、视图(V)、控制器(C)。
当然这不是一个全新的概念,而只是ThinkCMF将其发挥到了极致,做到了业界领先水平而已。
用户管理:
:
ThinkCMF置了灵活的用户管理方式,用户可直接与第三方站点进行互联互通,若你愿意甚至可以对单个用户或群体用户的行为进行记录与分享,为的运营决策提供有效参考数据。
因此,大大减轻了开发设计者的工作量。
云端部署:
ThinkCMF通过驱动的方式可以完全支持云平台的部署,使得无缝迁移,而且系统的置已经支持SAE、BAE,正式版也对云端部署进行了进一步优化。
安全策略:
ThinkCMF提供了稳健的安全策略,包括备份恢复,容错,防治恶意攻击登陆,网页防篡改等多项安全管理功能,保证系统安全,可靠,稳定的运行。
应用模块化:
提出全新的应用模式进行扩展,无论是开发一个小功能还是一个全新的站点,对于ThinkCMF而言,只需增加了一个APP,每个独立运行互不影响,便于功能扩展和二次开发。
免费开源:
系统代码完全遵循Apache2开源协议,免费使用,而且对商业用户也无任何限制。
最新官网地址:
.thinkcmf.
2.2Bootstrap
Bootstrap是Twitter推出的一个开源优秀的前端响应式开发框架。
由Twitter的设计师MarkOtto和JacobThornton合作联合开发。
Bootstrap组件中包含了大量而丰富的Web组件,开发设计者可以运用这些组件,可以快速地搭建一个漂亮而功能完备的。
这些丰富的Web组件大致包括三大类(CSS,组件,javascript)。
ThinkCMF的首发版全面支持BootStrap组件,ThinkCMF不仅创造了第一个中文容管理框架,而且还致力于将BootStrap组件的本土化。
Bootstrap是基于jQuery框架开发的,它在jQuery框架的基础上进行了更为个性化和人性化的完善,形成一套自己独有的风格,并兼容大部分jQuery插件。
2.3HTML5与CSS
HTML5:
2009年,W3C联合WATWG以与数百家互联网公司开始研发制定,并于2012年12月19号,W3C宣布HTML5标准定稿。
HTML5是万维网的核心语言、标准通用标记语言下的一个应用超文本标记语言(HTML)。
HTMl5是最新的一项Web标准,在原有HTML4的基础上定义了许多新的标签和新的JavascriptAPI。
是原有HTML4标准的一个超集。
因此在使用HTML5时,可以遵循前辈的经验和心得,进行开发和设计。
CSS:
层叠样式表(英文:
CascadingStyleSheets,缩写CSS),通常又称为“风格样式表(StyleSheet)”。
CSS是用来进行网页风格设计的。
例如,若想让字未点击时呈现蓝色的,当鼠标移上去后字变成红色的且有下划线,这就是样式控制。
通过创建样式表,可以统一地控制HTML中各标志的显示属性。
级联样式表可以更加有效地控制网页外观。
使用级联样式表,可以扩充精确指定网页元素位置,外观以与创建特殊效果的能力。
目前版本是CSS2.1,为W3C的候选推荐标准。
而CSS3现在已被大部分现代浏览器支援,且下一版的CSS4也仍在开发过程中。
所以,在使用CSS的过程中必须遵循HTML5的相关要求,进行开发设计。
2.4PHP与MySql
PHP(英文名:
PHP:
HypertextPreprocessor,中文名:
“超文本预处理器”)是一种通用开源脚本语言。
PHP语法汲取了C语言、Java和Perl的语言特点,便于学习,使用广泛,主要应用于Web开发领域。
PHP独特的语法混合了C、Java、Perl以与PHP自创的语法规。
PHP可以比CGI或者Perl更快速地执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP则是将程序嵌入到HTML(标准通用标记语言)文档中去执行,执行效率比完全生成HTML标记的CGI要高效许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行的作用,使代码运行更快、更高效。
MySQL(通常被读作My-SEQuel)是一款开放源码的关联式数据库管理系统。
原始开发者为瑞典的MySQLAB公司,该公司在2008年被升阳微系统(SunMicrosystems)收购。
而甲骨文公司(Oracle)在2009年收购升阳微系统公司,MySQL便成为Oracle旗下产品。
MySQL被广泛地应用在Internet上的中小型中。
MySQL由于其自身体积小、速度快、成本低,尤其是开放源码这一特点,许多中小型为了降低总体拥有成本都选择了MySQL作为得数据库。
MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言之一。
2.5Wampserver
WampServer是一款由法国人开发的ApacheWeb服务器、PHP解释器以与MySQL数据库的软件整合包。
这款软件免去了开发人员将时间花费在繁琐的配置环境过程,从而腾出更多的时间和精力去做开发。
在Windows下将Apache+PHP+Mysql集成环境,拥有简单的图形和菜单安装和配置环境。
其中的PHP扩展、Apache模块,开启/关闭鼠标点点就搞定,再也不用去修改配置文件了,WampServer会去做。
也不用到处询去问php的安装问题了,Wampserver一切都搞定了。
WampServer是完全免费的,可以在其官方下载到最新的版本。
目前版本更新到WampServer2.4,包含版本:
Apache2.4.4,Mysql5.6.12,PHP5.4.16,XDebug2.2.3,PhpMyadmin4.0.4,SQLBuddy1.3.3。
最新官网地址:
.wampserver./
2.6Hbuilder
HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。
“快,是HBuilder所呈现出的最大优势,通过其完整的语法提示和代码输入法、代码块与很多配套,使得HBuilder大幅提升HTML、js、css的开发效率。
以“快”为核心宗旨的HBuilder,引入了“快捷键语法”的概念,从而巧妙地解决了困扰许多开发者的快捷键过多而记不住的问题。
开发者只需要记住若干条语法,就可以快速实现跳转、转义和其他的操作。
例如alt+[是跳转到括号,alt+’是跳转到引号,alt+字母是跳转菜单项,而alt+左则是跳转到上一次光标位置。
而Ctrl则是各种操作,比如ctrl+d就是删除一行。
shift则是转义,比如shift+回车是
,shift+空格是 等等。
另外,HBuilder的生态系统可能是最丰富的WebIDE生态系统,因为它同时兼容Eclipse插件和RubyBundle。
SVN、git、ftp、PHP、less等各种技术都有Eclipse插件。
HBuilder的编写用到了Java、C、Web和Ruby。
HBuilder自身主体是用Java编写,且基于Eclipse,所以顺其自然地兼容了Eclipse的插件。
但是因为Java效率太低,所以用C写了启动器。
HBuilder拥有的绿色(柔和)界面设计需要动态调节屏幕亮度,还支持手机数据线真机联调,而这些皆是用C写的。
HBuilder很多界面,比如用户信息界面都是使用Web技术来做的,既漂亮,开发起来又快。
最后,代码块、快捷配置命令脚本,都是用Ruby开发的。
堪称国人开发的HTML5编码神器,亦号称为编码极客而生的的IDE。
最新官网地址:
.dcloud.io/
3.需求分析
通过ThinkCMF框架快速实现“酷游网”。
酷游网是一个在线旅游信息发布的平台。
利用Bootstrap框架来设计UI,然后按照ThinkCMF框架规改写HTML,将其转换为相应的网页模板,然后使用ThinkCMF的置标签和置函数,通过调用进一步完善网页模板,从而使得前台和后台衔接,功能得到全部实现。
最终达到通过ThinkCMF容管理系统来管理的目的。
利用ThinkCMF开发和设计的酷游网,能够具有信息在线发布,新闻中心,最新发现,留言反馈等功能模块。
而且通过Bootstrap组件设计的UI,很大程度上吸引了更多的浏览者,增加的访问量,提升的影响力;
3.1可行性分析
3.1.1经济可行性
在项目开发过程中,所用到的资源中:
ThinkCMF完全开源,可在其官方上免费下载,同时Wampserver和Hbuilder等工具软件都可在网上免费下载使用。
前期的开发成本几乎为零。
项目开发完成后,只需要购置相应的网络服务器的空间和域名,完成部署,即可使用。
因此在资源使用和经济条件的允许下,通过ThinkCMF框架来设计和实现,做到了最节省资源,开发成本小的绝对优势。
3.1.2技术可行性
本系统主要应用THinkCMF框架开发。
ThinkCMF是一款基于PHP+MYSQL开发的中文容管理框架。
ThinkCMF拥有灵活的应用机制,框架自身提供了基础性的管理功能,而开发者可以根据自身需求以应用的形式进行扩展。
ThinkCMF具有以下特性:
MVC分层模式,用户管理,云端部署,安全策略,应用模块化,免费开源。
所用到的Bootstrap是Twitter推出的一个开源优秀的前端响应式开发框架。
Bootstrap组件中包含了大量而丰富的Web组件,运用这些组件,可以快速地搭建一个漂亮而功能完备的。
其中包括以下组件:
下拉菜单、按钮组、按钮下拉菜单、导航条、导航、面包屑、分页、排版、缩略图、警告对话框、进度条、媒体对象、面板等;
3.1.3法律可行性
(1)所有技术资料都为合法。
(2)未抄袭任何,不存在侵犯问题。
(3)开发过程中未涉与任何法律责任。
(4)开发过程中不存在知识产权问题。
综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。
3.2系统功能需求分析
3.2.1系统UML图
图2.3系统UML图例
3.2.2系统主要功能模块需求
由于ThinkCMF框架已具备后台系统结构,因此我们只需关注前台如何和后台衔接,从而实现该的的功能页面。
其主要包括首页、新闻中心、发现、关于我们、联系我们。
以下按照不同的功能页面处理对页面具体功能进行描述:
(1)首页
酷游网的首页能够呈现出的UI特色,与本身信息的功能。
首页元素包含了导航菜单、幻灯广告、最新新闻、最新发现、友情、等。
(2)新闻中心
顾名思义是酷游网在线新闻信息的的管理中心与展示中心。
(3)发现
该栏目发布了最新的一些旅游景点的信息,包含相关图片和文字简介。
游客可以通过浏览这些信息来了解最新的旅游风向标。
(4)关于我们
该栏目主要是向游客介绍酷游网的服务宗旨。
(4)联系我们
该栏目主要是向游客提供了一个在线互动平台。
通过留言反馈,酷游网可以更好的服务大众,提升的自身魅力。
3.3性能需求分析
整个项目的追求:
操作简便,界面友好,维护简便,避免不必要的繁杂操作。
该项目要求利用ThinkCMF框架来实现酷游网所需的基本功能。
另外,要保证数据库的完整性,对数据的精确度、时间性、适应性等均有一定要求。
而系统本身运行对计算机硬件平台和操作系统平台要求比较低。
3.4环境需求分析
推荐:
Windows开发环境:
WampServer+HBuilder
综上可知,本机给服务器端配置了高性能硬件,完全达到环境需求。
4.认识ThinkCMF
4.1ThinkCMF系统代码结构
ThinkCMF框架有着广泛的使用前景,对于其本身,而对于开发者而言,ThinkCMF具有着潜移默化的影响力。
在利用ThinkCMF开发前,需要对其系统代码做一番深入的了解和学习。
而ThinkCMF目录结构如下:
|--admin /管理后台URL重定向目录,你可以将文件夹名改为任何你喜欢的
|--api/第三方通用接口类文件目录
|--application /应用目录
|--data /各类数据存放目录,包括缓存数据,备份数据、系统配置项
|--install /安装包
|--simplewind /核心包,无特殊情况请勿改动
|--statics /静态文件存放包,包含bootstrap资源
|--tpl /前台模板文件目录
|--tpl_admin /后台模板文件目录
4.2ThinkCMF的环境搭建
操作系统:
Windows7;
处理器:
InterCorei5CPU2.67GHz;
安装存:
2.00GB;
硬件空间:
500GB;
数据库:
MySQL;
编程语言:
HTML5,PHP;
Web服务器:
Apache;
开发工具:
HBuilder;
浏览器:
IE9.0或chrome;
分辨率:
最佳效果为1366×768像素。
综上可知,本机配置了高性能硬件,完全达到环境需求。
此处推荐:
Windows开发环境:
WampServer+HBuilder
其中,WampServer是一款由法国人开发的ApacheWeb服务器、PHP解释器以与MySQL数据库的整合软件包。
在windows下将Apache+PHP+Mysql集成环境,拥有简单的图形和菜单安装和配置环境。
HBuilder是DCloud(数字天堂)推出一款支持HTML5的Web开发IDE。
“快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块与很多配套,HBuilder能大幅提升HTML、js、css的开发效率。
4.3数据库详解
在利用ThinkCMF进行开发和设计过程中使用的是MySQL数据库,常用到以下7数据表(table),如:
用户信息表、信息发布表、导航属性表、友情表、广告表、评论表、留言表等。
(1)用户信息表:
用于记录保存所有已注册的用户的基本信息(ID,登录名,登录密码,用户名,性别,生日,头像,电子,激活码,注册时间,用户类型等),如表4.1所示。
表4.1用户信息表(users)
字段
类型
Null
默认
注释
id auto_increment
bigint(20)unsigned
否
user_login
varchar(60)
否
用户名
user_pass
varchar(64)
否
登录密码;sp_password加密
user_nicename
varchar(50)
否
用户美名
user_email
varchar(100)
否
登录
user_url
varchar(100)
否
用户个人
avatar
varchar(255)
用户头像,相对于upload/avatar目录
sex
smallint
(1)
0
性别;0:
,1:
男;2:
女
birthday
date
生日
signature
varchar(255)
个性签名
last_login_ip
varchar(16)
否
最后登录ip
last_login_time
datetime
否
0000-00-0000:
00:
00
最后登录时间
create_time
datetime
否
0000-00-0000:
00:
00
注册时间
user_activation_key
varchar(60)
否
激活码
user_status
int(11)
否
1
用户状态0:
禁用;1:
正常;2:
未验证
score
int(11)
否
0
用户积分
user_type
smallint
(1)
1
用户类型,1:
admin;2:
会员
(2)信息发布表:
用于记录保存所有管理员发布的各类信息(发表者ID,关键字,创建时间,