三、窗口化页面 ............................................................................................................................................... 25 第六章 总结 ........................................................................................................................................................... 26 第七章 致谢 ........................................................................................................................................................... 26 第八章 参考文献 ................................................................................................................................................... 27
4
第一章 需求分析与功能简介
一、开发的需求分析
越来越多的网络用户希望能够在网络平台上展现自己的个性,更方便地与人互动交流,无论是论坛、社区还是个人网站,都试图在这些方面进行努力,随着WEB2.0时代的到来,一个新的概念出现了——博客。随着计算机网络的飞速发展,博客已经成为写网络日志必不可少的一种工具,也是一种简单有效的提供网络用户之间进行在线交流的网络平台,通过其可以结交更多的朋友,表达更多的想法,它随时可以发表日志,方便快捷。访客可以直接在个人Blog上留言,如提出问题或意见等。个人博客的发展,也已经成为广告商业务扩展的重要领域。总之, Blog是继Email、BBS、ICQ之后的第四种网络交互方式。Blog是未来信息化教育和个人知识管理的强大而易用的工具。
二、开发的技术概要
1、网站程序开发技术
1.1、PHP技术
PHP(Hypertext Preprocessor——超文本预处理器)是一种 HTML 内嵌式的编程语言。PHP的语法大部分兼容了C、JAVA、Perl,并增加了PHP特有的语法结构,可以比CGI或Perl更快速的执行动态网页,只需要很少的编程知识就能建立一个交互的WEB站点。它可以管理动态内容,支持数据库,处理会话和跟踪,甚至构建整个电子商务站点。
PHP是完全免费的开源产品,程序开发快,运行快,兼容UNIX、LINUX、WINDOWS等操作系统,可以在IIS、Apache、Nginx等WEB服务器端执行代码解析,能支持MySQL、MSSQL、Oracle、SyBase等主流数据库,构建LAMP(Linux+Apache+Mysql+Php)可以非常快速地搭建一套动态网站系统。
ThinkPHP 是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。使用ThinkPHP,你可以更方便和快捷的开发和部署应用。
1.2 、AJAX技术
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),用于创建更好更快以及交互性更强的 Web 应用程序的技术。Ajax不是一门编程语言,它的核心是JavaScript对象XmlHttpRequest,通过XmlHttpRequest,用户可以在不重载页面的情况下直接与服务器进行通信,形成与Web服务器间交互数据。这一特性不仅优化了网站界面和用户的体验,也提高了系统的性能,大大增强了网站的“动态化”。
2、网站前端设计技术 1.1 、javascript脚本语言
JavaScript是一种能让你的网页更加生动活泼的程式语言,是一种动态、弱类型、基于原型的语言,通过浏览器可以直接执行。利用JavaScript能轻易的展现各类的网页特效,增加的网络用户的观赏性。它的代码结构比较松散,记录在HTML文件中,可以直接查看源码获得。
Jquery是Javascrīpt的一个框架,轻量级的js库,兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。
5
1.2、 DIV+CSS布局方式
DIV+CSS是WEB标准中常用术语之一它是网页布局的一种方式,这种方式区别于传统的HTML网页设计语言中的表格(Table)定位,采用DIV+CSS的布局方式,可实现网页页面内容与表现相分离,优化了HTML代码结构,能很好的被浏览器解析,同时也有利于搜索引擎的收录。 DIV+CSS适应未来网络应用更多的需求。
三、开发的环境配置
1、系统运行平台
操作系统 :WINNT
运行环境 :Apache/2.2.17 (Win32) PHP程序版本 :5.3.5 MYSQL程序版本 :5.5.8
浏览器:Firefox、IE9、Chrome 2、开发工具选用
程序开发软件:Zend Studio 8.0 、Dreamwever CS5、EditPlus3 数据库软件:phpMyAdmin 图像处理软件:Photoshop CS5
测试软件:IETester、Firebug、WebDeveloper、IE调试工具
四、开发的设计思想
1、OOP(面向对象的编程思想)
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。OOP主要有以下的概念和组件:
组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
多态性 - 组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果得依据实际调用的类型。
继承性 - 允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。
2、MVC 模型视图控制器思想
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型(M)、视图(V)、控制器(C),它们各自处理自己的任务。
视图 :视图是用户看到并与之交互的界面。视图就是由HTML元素和web应用程序组成的界面,它作为一种输出数据并允许用户操纵的方式。
6
模型 :模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
控制器 :控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。
3、ORM 对象关联映射思想
对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的。面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
4、单一入口访问思想
单一入口通常是指一个项目或者应用具有一个统一的入口文件,既项目的所有功能操作都是通过这个入口文件进行的,它使得项目整体比较规范,不同操作之间具有相同的规则,同带来的好处是控制较为灵活。
五、开发的目录结构
Public : 存放站点公共目录,存放图片(Images)、样式(Css)、脚本(Js),以及用户上传的资源Uploads
ThinkPHP :存放ThinkPHP框架引擎
WebApp : 存放博客系统的目录,包含全局参数,模型,类库,模板,公共函数及缓存等文件。
index.php :站点入口文件
六、系统功能简介
博客系统是基于ThinkPHP框架技术开发,具有一般博客系统发布、修改、删除文章,日志的评论和归档等功能,同时也增设了标签、无限分类、权限管理、文件管理功能,支持站点的数据库结构查看及其备份。利用MiniUi控件,增强的后台管理界面和用户体验,同时结合AJAX技术对数据的异步交互,大大增强对用户操作的便携性和透明性。
7
前台界面 首页 文章日志归档,标签云,分类列表 内容显示,点击数,访问评论 数据备份 站点名称、站点描述、分页页数等配置 数据库表信息、数据表结构、数据库备份 文章的发表、标签的插入 文章的编辑、删除,分类显示和标签显示 分类的显示、创建、编辑、删除,标签的显示和删除 多文件上传,文件的删除和预览 目录遍历,文件和文件夹的删除、命名,文件的编辑 节点的创建、编辑、删除,节点的启用和禁用 角色的创建、编辑、删除,角色的授权 角色的创建、编辑、删除,用户分配角色
系统管理 博客系统 后台管理 站点配置 发表文章 文章管理 文章列表 分类标签 上传文件 文件管理 文件管理器 节点管理 权限管理 角色管理 用户管理 第二章 数据库结构设计
一、数据库表结构设计
b_blog 文章表 id categoryId title content cTime status readCount ID号 分类ID号 文章名 内容 创建时间 状态 点击数 id role_id node_id
id title remark pid path b_access 角色访问表 ID号 角色ID号 节点ID号 b_category 分类表 ID号 分类名 备注 父分类 分类路径
id recordId author email url ip content cTime agent status b_comment 评论表 ID号 文章ID号 昵称 邮箱 个人站点 评论者IP 内容 创建时间 操作系统 状态 commentCount 评论数 tags
标签 8