else{ ?>﹀<?php } ?><?php } ?>
跟着计较机网络和手机网络的成长,网络社区成为人们彼此交换相同的精采平台,正逐渐成长为一个庞大的网络群体。社区会员通过社区平台彼此交换,互相间的互动可以实现信息的通报和共享,利便了会员的日常糊口。“爱江苏” 网络互动平台是在开源措施“小黄鸡”等的基本长举办的二次开拓,搭建专业的常识库和在线问答社区。小黄鸡是源于韩国的一款谈天呆板人,小黄鸡接口是由微信论坛提供的智能对话接口,开拓者可以通过该接口成立本身的交互平台。“爱江苏” 网络互动平台开拓的主要方针是利便人们对付在住宿、餐饮、购物、民众处事、旅游、娱乐等方面信息的需求,注册的会员不只可以在网站上提出问题、宣布话题、存眷挚友、站内搜索等,还可以通过手机微信查察话题、回覆话题和提问等,大大利便了人们的日常糊口。本系统的建树原则是首先回收主流技能和成熟架构举办开拓建树;其次应该易于利用和操纵,切合公共的利用习惯;再次系统应担保拥有高靠得住、平衡负载、能长时间持续运行的本领;最后系统还需有可扩展性,利便动态扩展以满意业务的不绝增长的需求。
1 运行情况
1.1处事器设置要求
操纵系统:WINXP/2000/2003
数据库:MySQL Server 5.0
CPU:主频800MHZ
内存:1GB(最大可扩充量=16GB)
硬盘:SCSI硬盘
网卡:100M/1000M以太网卡
网络协议:TCP/IP
1.2 Wamp的配置和利用
本系统回收的开拓东西是PHP语言和MySQL数据库,由于纯真搭建PHP情况较量繁琐,所以我们利用了整合型的Wamp措施。WampServer是一款由法国人开拓的Apache Web处事器、PHP表明器以及MySQL数据库的整合软件包,大大简化了开拓人员设置情况的进程;Wamp又可领略为在Windows下将Apache+PHP+MySQL 集成的情况,它拥有简朴的图形和菜单安装和设置情况。详细安装进程很简朴:
首先下载WampServer安装包,按照提示安装即可。安装乐成后可以在桌面右下角看到半圆形图标,这个就是WampServe图标,右键该图标可以修改语言状态,左键图标可以配置各项属性,譬喻:Apache模块配置、目次配置,PHP配置、扩展配置,MySQL处事配置、节制台配置等。同时还可以通过左键图标配置WampServe的当前状态:遏制处事状态、启动处事状态、离线状态、在线状态。
在安装目次下的/wamp/www/文件夹下,是“爱江苏”互动平台的系统文件夹ia0523,运行的时候在欣赏器中输入http://localhost/ia0523/便可以看到系统的页面。下图是Wamp的实现会见数据库的事情道理:
2 Web应用措施的开拓模式
2.1 MVC开拓模式
Web应用的开拓模式主要分为分层开拓模式与分模块开拓模式。
传统的Web应用开拓一般分成三层:暗示层、业务逻辑层和数据层。每一层完成相应的职能,层之间通过接话柄现松耦合,对任何一层的修改都不会影响到其他层的运行。譬喻数据层被修改的话,暗示层和业务逻辑层均不会受到影响。
本系统利用的模式是当前风行的MVC模式。MVC开拓模式(Model-View-Controller),是一种分模块的开拓模式,并被遍及应用于Web应用开拓中。MVC中的模子(Model)代表数据布局,凡是来说,模子类将包括取出、插入、更新数据库等成果。视图(View)是展示给用户的信息,一个视图凡是是一个网页,还可以是任何其他范例的“页面”。节制器(Controller)是模子、视图以及其他任那里理惩罚HTTP请求所必需的资源之间的中介,并生成网页。利用MVC可以增加代码重用率,淘汰数据表达、数据描写和应用操纵等部门耦合度的目标,同时还可以使措施的可维护性、可修复性、可扩充性等获得更大的提高。下图是MVC模式道理图:
2.2 系统的开拓框架:Zend框架和CI框架
框架是一个开拓Web措施的根基架构,它通过提供快速搭建网站需要的全部组件,实现流水式的Web措施开拓。PHP框架中,Zend、CakePHP、CI、Symfony以及Seagull是五大最佳的PHP开拓框架。PHP绝大大都框架都是MVC开拓模式的。
本系统回收了Zend框架与CI框架,罗致了两种框架的利益。
本系统的文件目次布局如图3所示。
Zend框架是由Zend公司支持开拓的完全基于PHP5的开源PHP开拓框架,可用于开拓Web措施和处事。Zend Framework回收MVC(Model-View-Controller)机构模式来疏散应用措施中差异的部门利便措施的开拓和维护;代码完全回收PHP5面向工具编写;具有富厚完整的组件支持;模块化的布局设计,易于扩展;完善的文档资料;机动的架构设计。
CI的全称是CodeIgniter,它是一个简朴快速的PHP MVC 框架。CodeIgniter 是一套给 PHP 网站开拓者利用的应用措施开拓框架和东西包。它提供一套富厚的尺度库以及简朴的接口和逻辑布局,其目标是使开拓人员更快速地举办项目开拓。利用 CodeIgniter 可以淘汰代码的编写量,并将你的精神投入到项目标缔造性开拓上。
<?php _e('状态'); ?>
<?php _e('操纵'); ?>
……
3 系统总体布局
3.1 系统总体布局
“爱江苏”网络互动平台的实际运行进程为:用户注册会员,登录后可以看到有几个主要菜单:问题,话题,用户。打开问题菜单,用户可以查察全部问题列表;可以按照小我私家需求打开某类问题(包罗住宿类、旅游类、餐饮类、娱乐类、购物类、民众处事类、其他类等);可以搜索需要相识的问题;同时还可以编辑提问。打开话题菜单:用户可以编辑话题;存眷话题。打开用户菜单:用户可以回覆某个用户的话题;存眷和打消存眷某用户等。同时用户还可以对小我私家书息举办配置:用户根基信息的配置;邮件或通知提醒的配置;QQ或微信账号绑定配置;暗码配置等。以下是网站前台和靠山的成果布局图。
3.2用例图
“爱江苏”网络互动平台中差异的用户有差异的权限。未注册的用户只有站内搜索、查察问题等成果,不能提倡问题、靠山打点等;已注册的用户分为超等打点员和普通会员等,个中普通会员可以举办问题打点、站内搜索、话题打点、用户打点和根基信息打点等;超等用户除了拥有普通会员的权限外尚有网站靠山打点的权限,包罗全局打点、界面打点、内容打点、用户打点、运营打点、邮件群发打点、系统维护等。
下图为系统用例图:
4 数据库的设计与实现
4.1 MySQL数据库设置
“爱江苏”网络互动平台中数据库的开拓利用的是MySQL数据库,MySQL是一个快速、多线程、多用户的SQL数据库处事器,是PHP的首选数据库,PHP中提供了一整套的MySQL函数,对MySQL举办了全方位的支持。WampServer整合了PHP、Apache和MySQL;个中MySQL是基于PHP的数据库打点软件,可以通过系统托盘菜单中的phpMyAdmin对数据库举办操纵。在MySQL数据库中,root账户雷同于SQL Server的sa账户,具有对数据库的最高操纵权限。默认环境下root账户的暗码为空,可以通过phpMyAdmin的界面配置权限,对root账户配置暗码。
相对而言,Zend较量适适用于巨大的系统,因此会显得较量粗笨;而CI则相对轻量,自由度高,更合用于小型和低级的系统。
本系统中“话题”(topic)模块中所利用的CI的代码示例:
// 节制器Controller: /app/admin/topic.php
class topic extends AWS_CONTROLLER{var $per_page = 15;public function setup(){$this→model('admin_session')→init();TPL::assign('menu_list', $this→model('admin_group')→get_menu_list($this→user_info['group_id'], 303));}public function index_action(){$this→list_action();}……
//模子Model: /models/topic.php
class topic_class extends AWS_MODEL
{//按照指定条件获取话题数据
public function get_topic_list($where = null, $limit = 10, $order = 'topic_id DESC')
{if ($topic_list = $this→fetch_all('topic', $where, $order, $limit)){
foreach ($topic_list AS $key => $val)
{if (!$val['url_token'])
{$topic_list[$key]['url_token'] = rawurlencode($val['topic_title']);
}}}
return $topic_list;
}……
//视图View: /views/default/admin/topic/ list.tpl.htm
……
<?php _e('话题标题'); ?>
<?php _e('相关话题'); ?>
<?php _e('问题'); ?><?php if ($_GET['sort_key'] == 'discuss_count'){ ?><?php if ($_GET['order'] == 'ASC'){ ?>︿<?php }