admin 管理员组

文章数量: 1087139


2023年12月16日发(作者:java项目经理面试)

S0FrWARE DEVEL0PMENT AND DESIGN 软件开发与设计 基于CodeIgniter的精品课程自助建站系统设计与实现 王炳举 (郑州大学西亚斯国际学院,新郑451150) 摘要:根据精品课程网站建设的特点,阐述了精品课程自助建站系统的技术架构、主要功能模块及数据库设计, 并详细介绍了利用Codelgniter框架进行系统开发的原理、关键技术及实现方法。 关键词:CodeIgniter;自助建站;模型;视图;控制器 Design and Implementation of the Self-help Building Website for Elaborate Course Using the CodeIgniter WANG (Sias International College of Zhengzhou University,Xinzheng 451 150) Abstract:This paper mainly discusses the technical framework,main function block and database designing of the self-help building website for elaborate courses on the basis of the characters of the construction of elaborate course website. Meanwhile,it introduces in detail the principle of the system development by using the CodeIgniter framework,key technology and the realization methods. Key words:Codelgniter;Self-help Building Website;Model;View;Controller 1 引言 3系统设计 根据教育部“高等学校教学质量与教学改革工程”要求, 3.1系统功能 全国各大高校纷纷进行精品课程建设,精品课程建设工作采 精品课程网站自助建站系统的主要功能有内容管理、网 取网上申请、网上评审以及网上公开精品课程的形式,而精 站设置、系统管理,功能框架图如图1所示。 品课程网站建设是精品课评审与建设的关键环节之一。目前 国内众多高校均建有各类精品课程网站,但大部分精品课程 网站为各精品课程负责人使用网上开源代码建设或自行开发, 且分布于不同的服务器,不利于统一管理和维护;网站可维 护性及可扩展性较差,网站界面也参差不齐,且网站建设周 期长、成本较高。 将着重探讨利用Codelgniter框架建设一个统一的、多站 点精品课程网站自助建站系统(以下简称精品课程自助建站 系统),通过该系统缩短精品课程网站建设周期,提高精品课 程网站的易用性和界面美观度,降低精品课程建设成本,提 图1高校精品课程自助建站系统功能框架图 高精品课程网站建设效率。 栏目管理:可对精品课程网站内容进行分类,允许网站 2 功能分析 管理员对栏目排序、链接到外部网站,定义栏目是否显示在 精品课程自助建站系统的要求有3个: 主菜单并对页面类型进行设置,不同的页面类型具有不同的 (1)建立一个统一的平台,将精品课程建设相关政策法 显示方式,栏目管理支持无限分类。 规、课程资源、精品课程网站链接等统一在一个网站展示出 内容管理:本系统采用了FCKeditor编辑器,具有非常强 来,用户可以按精品课程级别(国家级、省级、校级)浏览 大的功能,网站管理员可以向不同的栏目发布内容,用户可 精品课程网站,也可以按院系浏览精品课程网站,便于用户 以在所发布的内容中插入图片、文字、flash、FLV视频等内 查找本校的精品课程网站;可以将各课程精品网站中的课程 资源、教学录像等统一提取出来,展现给用户。 基金项目:郑州大学西亚斯国际学院2010年度校级项目,项 (2)系统可以自动生成多个精品课程网站,各精品课程 目编号:2010KYYB22。 网站均有统一且独立的访问域名和网站管理员。 作者简介:王炳举(1979一),男,硕士,研究方向:高校信 (3)各课程网站管理员根据需要,可以自行选择网站模 息化及门户技术。 版、设置网站栏目、自定义网站布局结构。 收稿日期:2010—08—18 —17— 

电脑编程技巧与维护 容,便于将与精品课程相关的图片、文字、音像资料发布到 网站上面。 友情链接管理:允许每个精品课程网站添加多个友情链 接地址,丰富网站的功能,加强网站与网站之间的联系。 课程管理:允许每个网站发布多门课程,每门课程可发 布多个章节的内容,并以树形结构显示课程内容,便于展示 精品课程内容及教案。 数据库备份功能:允许系统管理员定时将数据库备份在 服务器上或下载到本机。 用户管理:系统管理员可以为通过申请的用户创建网站 管理员账号,并分配角色。 角色权限管理:系统管理员可以添加角色并为不同的角 色分配权限。 网站管理:系统管理员可以为通过申请的用户创建网站, 创建网站时可以设置申请网站的网址、网站名称、默认模版、 默认布局、版权信息、网站级别(国家级精品课程、省级精 品课程、校级精品课程)等,并可通过网站初始化功能快速 建立网站基本模块。 网站设置:各网站管理员均可以通过网站设置菜单修改 网站名称、网站布局、网站使用的模版、版权信息、是否启 用缓存等。如果网站正在维护,则可以将网站设置为关闭, 设置为关闭后其他人将无法再访问该网站。 首页模块设置:允许网站管理员以拖拽的方式对网站首 页上的模块儿进行添加、修改、删除、调整位置等,网站管 理员可以以更直观的方式操作,增加了系统的易用性。 3.2数据库 根据系统功能设计不难分析出角色与网站管理员之间是 一 一对多关系,网站管理员与网站之间是一对一关系,网站与 课程之间是一对多关系,网站与模块之间是一对多关系、网 站与栏目之间是一对多关系、栏目与内容之间是一对多关系、鬟 ~  网站与友情链接之间是一对多关系。根据以上对应关系设计 出以下关系,关系的主键用下划线标出(由于篇幅限制,这 里仅列出了部分关系及属性):网站管理员(网站管理员ID、 用户名、密码、权限ID);角色(角色ID、角色名程、权 限);网站(网站ID、网站URL、网站名称、网站管理员 ID);模块(模块ID、网站ID、模块标题、模块内容、模块 显示位置);课程(课程ID、网站ID、课程标题、课程内容、 课程Fid);栏目(栏目ID、网站ID、栏目名称、栏目Fid); 内容(内容ID、标题、内容、栏目ID);友情链接(链接ID、 网站ID、标题、链接URL)。 根据以上关系不难设计出数据库对应的表结构,通过对 表结构的调整可以实现不同的功能,比如通过在网站表增加 “是否启用缓存”、“网站模版”、“网站CSS”等字段可以实 现精品课程网站管理员选择模版、自行启用缓存和自定义CSS 的功能,不仅能实现精品课程网站管理员自行选择网站模版 和布局,也可以通过对CSS的定制实现对精品课程网站界面、 字体大小、颜色等方面的定制。本系统实现模版选择的效果 如图2所示。 一18一 ¥ d 囊 r 图2网站模版及布局选择 4 系统实现及关键技术 本系统采用了国际上比较流行的Codelgniter框架,该框 架配置简单,易学易用,具有强大的类库和较强的可扩展性, 是一个开源的快速开发框架,可以加快系统开发速度。该框 架采用模型一视图一控制器设计模式,将应用程序的业务逻辑 层和表现层分离,这种设计模式增强了Web设计的灵活lI生。 4.1框架配置 CodeIgniter框架支持SQL Server数据库、MySQL数据库 及Oracle数据库,所有配置文件均在system\application\config 目录下设置;可设置数据库链接信息、电子邮件配置、路由 设置、自动加载项等。Config.php文件配置代码片段如下: ¥config[ base_url 】 =”http://course.sias.edu.CU”; ,,配置系统URL路径 ¥config[ language ] =”chinese”;,/配置使用语言 ¥config【"charset 1=”UTF-8”;//配置系统编码 4.2应用程序流程图 如图3所示。 2 c= =圈 =豳 :圈 :豳 图3应用程序流程图 (1)index.php作为前端控制器,初始化运行CodeIgniter 所需要的基本资源。 (2)Router检查HTYP请求以确定谁来处理请求。 (3)如果缓存(Cache)文件存在,它将绕过通常的系统 执行顺序,将缓存中的内容直接发送给浏览器。 (4)安全fSecufit ̄。应用程序控制器(Application Controller)装载之前,HTYP请求和任何用户提交的数据将被 过滤。 (5)控制器(Controller)装载模型、核心库、插件、辅助 函数以及任何处理特定请求所需的其他资源。 (6)最终视图fView)渲染发送到Web浏览器中的内容。 如果开启缓存fCaching),视图将首先被缓存,以备以后使用。 4.3统一域名下多站点及路由的实现 为了构建搜索引擎友好的URL,本项目通过URI路由功 

S0F.rWARE DEVEL0PMENT AND DESIGN 能实现了统一网址下多用户精品课程自助建站系统。即通过 在routes.php中设置相应路由规则,将http://course.sias.edu.cn, index.php/sites/foreign类型的路径转换为http://course.sias.edu. l } 软件开发与设计 视图实现代码片段如下: <?php foreach(¥query->result()as Stow):?> <div class=”entry”> cn/foreign,从而可以构建统一、友好的URL路径。相应代码 如下:¥route[ :any/indexl=”sites/index/:any”, “:any”表 示可以为任意合法地址。 4.4网站页面数据显示原理 <h2 class=”title”><?=¥mw一>articletitle?></h2> _<?=¥mw一>articlecontent?> _</div> <?php endforeach;?> 控制器向模型请求数据,控制器将模型返回的数据发送 给视图,由视图将数据格式化后返回给用户。即控制器根据 用户请求的url路径的不同,从模型中获取数据并加载到视 图。 视图代码中¥query为控制器代码Sdata【"queryI=¥this一> db一>get f article_details')返回的数据,且article_title及 articlecontent均应为表article_details中的相应字段。 _控制器实现代码片段如下: ¥url=¥this一>uri一>segment(3); ¥article_id=¥this->uri->segment(4); 5 结语 精品课程网站自助建站系统最大的特色就是能够在统一 的平台上管理多个网站,每个网站都有很强的灵活性,可以 ¥sitedata=¥this一>websites_info();,/获取网站设置信息 ¥data【 sitedata']=¥this->websites_info(); 自行选择模版、自定义布局、CSS、栏目等;由于篇幅限制, 只分析了精品课程自助建站系统关键功能的实现过程,没有 ,/获取网站设置信息 ¥site_template=¥sitedata【 site_template 】; 对一些细节部分进行详细分析,仍有许多方面值得继续优化 和改进。 ,,获取网站模版信息 ¥site_url=¥sitedata[ site_url ];,/获取网站URL ¥siteid=¥this->websites_model->get_site_id(¥site_ur1); 要实现功能强大、方便易用的精品课程网站,有多种技 ,/获取网站ID ¥this一>db->where( article_id",¥article_id); ¥tllis一>db一>where("is_published ,"true ); ¥this->db->limit(1); 术途径可以实现,各高校在选择建设方案时要根据各高校的 具体情况选择,从而最大程度的节约成本、提高效率,加快 精品课程建设的步伐。 ¥data【"query 】 =Sthis一>pages_model一>get_page (¥article_id);//从模型中获取网站数据并存放在¥dam数组 ¥this->load一>view("templates/'.¥site template."/page lists , 参考文献 『11王洪成,张佑林,王琳.《]二程图 1精品课程网站的开 发设计『J1.武汉理工大学学报,2004,(5). [2]周仲文,张景韶,冯立.基于Web210的精品课程网站设 计与实现[J].实验科学与技术,2010,(2). ¥data);鸺数据加载到视图中。 模型实现代码片段如下: function getpage(¥article_id) { ¥this->db->where( article_id",¥article_id); ¥this->db一>where("is_published","true ); Sthis一>db一>limit(1); ¥query=¥this->db一>get( article_details ); if(¥query一>num_rows 0>0) [3]李永娜.智能精品课程网站设计….中国科技信息, 2008,(21). 【4]顾大刚.基于MVC模式的PHP开发框架CodeIgniter【J]. 江西科学,2009,(5). { retum¥query; (上接第9页) 变化也不会对前端有所影响,大大提高了系统的可复用性。 而且由于不同层之间耦合度小,有利于团队成员并行工作, 参考文献 [1】孙卫琴.精通Stutrs:基于MVC的Java Web设计与开发. 北京:电子工业出版社,2004. 大大提高了开发效率。 基于J2EE的Web应用以其层次性、平台无关性的优势已 经逐渐成为了电子商务、电子政务主要的解决方案。对目前 流行的SSH轻量级框架的各层进行分析,简要地阐述了各层 的工作机制,使大家进一步了解SSH的核心原理,以帮助开 发人员在短时间内搭建结构清晰、可重用性好、维护扩展方 便的SSH框架。 【2】夏昕,曹晓钢,唐勇.深入浅出Hibernate[M].北京:电 子工业出版社,2005. [3】刘中兵.开发者突击:Java Web主流框架整合开发.北 京:电子工业出版社,2008. 【4]孙鑫.Java Web开发详解.北京:电子工业出版社,2006. 一l9一 


本文标签: 网站 精品课程 系统 实现 设置