应用ThinkPHP框架的教学资源管理平台设计
2018-06-06林育曼覃壕焕古泳伦饶浩
林育曼 覃壕焕 古泳伦 饶浩
摘要:随着社会的发展,教育业与现代互联网技术的有机结合成为必然趋势。教学资源管理平台应用ThinkPHP框架,分析了系统实现框架,实现了在线学习、资源共享和在线交流三大功能。平台能与教师的教学计划结合,辅助教师的教学,促进学生的学习兴趣及效率。在使教學效率提高的同时,方便管理,且平台操作简单易懂,开发成本较低。
关键词:网络教学;资源管理;信息交流;ThinkPHP
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)07-0066-03
Abstract:With the development of society, the organic combination of education and modern Internet technology has become an inevitable trend. ThinkPHP framework was applied to teaching resource management platform. The platform has three functions: online learning, resource sharing, information exchange. The platform can combine with the teacher's teaching plan, assist the teacher's teaching, and promote the students' interest and efficiency in learning. The operation of the platform was simple and easy to understand, and the cost of development was low.
Key words:network teaching; resource management; information exchange; ThinkPHP
1 概述
随着社会的发展,科学技术的普及,教育业也发展迅速,同时也带来诸多问题,如教材越来越多,教学信息也越来越庞大;教师分配不均衡;教学资源缺乏有效的共享等。促使教育业与现代互联网技术的有机结合成为必然趋势。教学资源管理平台旨在为教学提供一个简洁方便的在线学习环境,同时也为庞大的教学资源进行分类存储,搜索以及共享。力求互联网技术与传统教学进行有机结合,各取所长,以填补传统教学的不足之处,使教学更加高效,教学资源得以充分利用。教学资源管理平台可以缩短教与学之间的时空距离,使“教”不再局限于课室,使“学“不再局限于45分钟。不仅如此,学生可以根据自己的兴趣,学习其他更多的知识。老师也可以根据自己的教材与教学计划,在平台里上传自己的教学视频,使得教学能与平台相辅相成面对越来越多的教学信息,平台充当着一个操作简易的资源共享平台,可以有效存储庞大的教学资源,能分类显示,能搜索下载。有效提高教学资源的利用率。
因此,本文探讨了开发一个能与实际教学相结合的平台。该平台能与教师的教学计划结合,辅助教师的教学,促进学生的学习兴趣及效率。在使教学效率提高的同时,方便管理,且平台操作简单易懂,开发成本尽量低。
2 系统框架及功能模块设计
2.1系统框架结构
本系统采用MVC框架,使用的php框架是ThinkPHP,系统框架如图1所示。ThinkPHP是一个快速、简单的面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布。使用ThinkPHP,可以更方便和快捷的开发和部署WEB应用。用户发出请求后,ThinkPHP在解释出模块后,就进入ThinkPHP的MVC模式支持逻辑。模块对应的是MVC的Controller控制器。控制器执行业务逻辑,获取数据构造模型,确定响应View视图;然后调用视图模版引擎,最终向客户返回响应界面。
2.2系统主要功能模块设计
教学资源管理平台系统主要实现三大功能:1)在线学习功能,即用户能在线视频学习,能便捷地查询到自己所需的课程;2)资源共享功能,即具备资源搜索功能,提供资源下载;3)在线交流功能,用户能在平台上相互交流、发表评论。具体实现功能模块划分如图2所示,包含了在线学习模块、资源管理模块和个人中心模块。
2.2.1在线学习模块
该模块支持在线视频教学,教师上传教学视频后,学生即可选择自己喜欢的方向进行在线学习。在线学习模块还包含信息交流模块。同时也提供相关课件下载。
用户进入在线学习页面前,需要进行院系选择、专业选择、科目选择,最后选择课程,才可观看教学视频。观看视频前,用户还需要登录账号。
2.2.2资源中心模块
该模块提供资源搜索及下载功能。教学相关的资源,由教师上传。该模块实现重点在搜索算法的设计。搜索算法设计要求,搜索速度要快且搜索结果排序要妥当。
2.2.3个人中心模块设计
每个账号均有其个人中心,所有用户的个人中心都有查看回复、修改资料、查看视频浏览历史功能。其中教师用户则多出2个功能专区,有教师个人文件中心以及课程发布中心。教师个人文件中心,是服务器提供教师一个免费的空间,用于存储其上传的视频文件及课件,功能等同于网盘。课程发布中心,提供教师一个课程发布的功能,一个简单易懂,易操作的界面。主要流程就是教师在个人文件中心上传文件后,可以在课程发布中心新增课程,然后在每个课程里选择视频文件,每个课程也可附带一些课件提供学生下载。
3 平台主要模块实现
3.1在线视频学习功能的实现
平台的所有视频,均由教师上传,所有视频以文件方式保存在服务器里,数据库表保存文件的存放地址,播放视频时,从数据库读取文件url,浏览器获取url以播放视频。在线视频播放时使用HTML5的video标签。
为了展示良好的动画特效,该模块使用了大量css及javascript代码。用户进入在线学习入口,可看到学习模块选择页面,可以使用新版模式或者列表模式进行浏览。默认模式为新版模式如图,每个学习模块由一个div显示,当鼠标移至div,则会显示具体分类,点击任一分类即成功选择。点击切换按钮,即可切换至列表模式,该模式可以同时浏览大量学习分类信息。
选择好具体分类后,即进入科目及课程选择页面。页面的科目详细列表初始是不展开的,当用户点击科目div的时候才展开。展开详细列表后,用户可以选择教师课程,并查看科目介绍,也可以点击按钮收回详细列表。当点击了某一课程后,即可进入视频播放页面。
3.2信息交流模块实现
该模块主要与在线学习模块相结合,目的是使学生能在在线学习后,有任何疑问,可以直接在当前页面进行提问,提出的问题任何用户均可看到,任何用户均可对该问题进行回答,以达到用户之间的交流。
该模块由于是嵌入到视频播放页面的,可以视为每个科目均带有自己的信息交流中心。模块设计类似于论坛的交流方式,在别人的评论里可以再次进行评论,所以,数据表里应该存放评论信息的回复目标,该标记为0时,表示该评论为第一评论者,不是回复者,标记为n(n>0)时,表示该评论是回复第n条信息的评论。
模块使用javascript代码在客户端切换,数据更新时需要使用ajax技术。
3.3资源中心模块的算法实现
资源中心模块的重点在于搜索算法,其中主搜索方法的算法流程:先对字符串进行中文分词,然后转换为拼音,随后对于这些拼音以及本来就是英文的小字符串,进行逐一搜索,有一个拼音或英文匹配就显示输出。
public function index(){
$keyWord=I('get.keyWord');
$this->assign('inputValue',$keyWord);
$keyWord = iconv( "UTF-8","GBK", $keyWord);
$sp = new \Spw\SplitWord();
$str=$sp->SplitRMM($keyWord);
$py=new \Getpinyin\Getpy();
$str=$py->getAllPY($str);
$model=new Model();
$count =$model->query("SELECT *,COUNT(*) FROM nt_file WHERE MATCH (pinyin) AGAINST ('".$str."' IN BOOLEAN MODE);");
$page = new Page($count[0]['count(*)'], 10);
$page->setConfig('prev','«;');
$page->setConfig('next','»;');
$page->setConfig('theme', '
- %UP_PAGE%
- %LINK_PAGE%
- %DOWN_PAGE%
$show = $page->show();
$searchResult=$model->query("SELECT * FROM nt_file WHERE MATCH (pinyin) AGAINST ('".$str."' IN BOOLEAN MODE) LIMIT ".$page->firstRow.','.$page->listRows);
$this->assign("searchResult",$searchResult);
$this->assign('page', $show);
$user=D('User');
$userList=$user->select();
$this->assign("userList",$userList);
$this->display('Resource/searchResult'); }
3.4個人中心模块实现
个人文件中心功能较复杂,下面展示其较难的一个方法:文件夹删除deleteFolder方法,算法思路:该方法通过get传递参数,存储要删除的文件夹id,随后deleteFolder方法调用deleteFloderRecursion方法,利用递归,实现删除文件夹下的子目录及其文件。
public function deleteFolder(){
$id=I('get.id');
$folder=D('Folder');
$login_user=I('cookie.login_user','0');
$username=session($login_user);
$user=D('user');
$result=$user->where("username='".$username."'")->select();
$userId=$result[0]['id'];
if($folder->where("id=".$id." AND user_id='".$userId."'")->select()!=null){
$this->deleteFloderRecursion($id,$userId);
$this->ajaxReturn(1); }
$this->ajaxReturn(0); }
public function deleteFloderRecursion($folderId,$userId){
$folder=D('Folder');
$file=D('File');
$data['state']=1;
$folder->where('id='.$folderId." AND user_id='".$userId."'")->save($data);
$file->where('folder_id='.$folderId." AND user_id='".$userId."'")->save($data);
$result=$folder->where('folder_id='.$folderId." AND user_id='".$userId."'")->select();
foreach ($result as $key) {
$this->deleteFloderRecursion($key['id'],$userId); }
$folder->where('folder_id='.$folderId." AND user_id='".$userId."'")->save($data); }
4 結束语
教学资源管理平台使用PHP技术,平台具有三大功能:在线学习、资源共享、信息交流。在线学习有利于教学与学习的效率提高;教学资源共享的功能,使得教学资源得以方便地共享,实现效率最大化;信息交流系统也使得学习更加贴合实际,更加提高学习效率。总而言之,该平台具备一定的积极意义,方便了学习,也方便了管理,在目前信息时代的大量信息背景下,该平台无疑为教与学提供了极大的方便。
参考文献:
[1] 兰月政,侯茂林. APP技术在实验教学管理中的应用研究[J]. 信息技术与信息化,2017(8):113-115.
[2] 章蓬阳,邵帅. Android异步框架的研究与设计[J].软件,2016,37(2):150-154.
[3] 手机APP系统在大学物理实验教学中的应用[J]. 物理实验,2016,36(11):28-31.
[4] 夏盛新. 基于Android的移动开放平台SDK的设计与实现[D]. 西安:西安电子科技大学,2014.
[5] 王运滨,张莉. APP远程操控实验演示平台的设计与实现[J]. 产业与科技论坛,2017,16(5):70-71.