Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4194518
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类:

2010-04-11 19:53:17

Moodle的业务逻辑遍布moodle的各个角落,并没有明显的分层。这里之所以把业务逻辑层单独拿出来讲,是希望能让大家有个全局的观点。这里顺便说一句,moodle自称是模块化的设计,我觉得不能完全称得上 是,从业务逻辑层就可以看出来了。凌乱的代码,夹杂着各种各样的转跳函数和逻辑判断,往往令人眼花缭乱,不知所措。

    这部分没有太多值得讲的地方,无非是一些函数和类的调用而已,这里介绍这些一些常用的函数。

   

1、权 限判断函数

通过获取上下文环境,查看是否有“moodle/site:config”的权限。

$context = get_context_instance(CONTEXT_SYSTEM);

require_capability('moodle/site:config', $context);

2、获 得记录集的长度

通过 函数count_records,可以获得数据集的长度,使用方法如下。

        $countcategories = count_records('course_categories');

3、 输出课程分类

通过print_whole_category_list函数可以获得课程分类类别。由于print_whole_category_list函数采用递归的方法实现,故还可以打印出子分类。使用方法如下:

print_box_start('categorybox');

print_whole_category_list();

print_box_end();

注意,这里的print_box_startprint_box_end函数仅是根据moodle的主题/皮肤,输出div对出来。

4、是 否登陆和是否为访客

Isloggedin函数可以判断用户是否已经登陆。isguest()函数可以判断用户是否是访客。使用方法如下:

if (isloggedin() and !isguest() and !has_capability('moodle/course:create', $sysctx) and $CFG->enablecourserequests)

{

……………….

}

5、 安全码

安全码主要用于安全方面,比如判断是否是正常的登陆用户。其使用方法如下:

if (!empty($delete) and confirm_sesskey()) {}

6、输 出错误

print_error主要用于系统发生严重错误,比如用户企图突破非其权限范围的事情时使用。一旦使用,系统将停止执行剩下的语句,即其实现使用了exit语句。其使用方法如下:

print_error('courserequestdisabled');

7、 浏览器传递参数类型判断和初始化

required_param可以用于浏览器POST或者GET的参数的类型判断和数值初始化工作。其使用方法如下:

$id = required_param('id', PARAM_INT);

这里需要注意的是,如果采用本说明文档“第五部分”的表单类生成的文件的话,传递 过来不需要使用该函数,可以直接调用表单类的get_data方法,即:

$data = $requestform->get_data();

8、 获得使用的语言

通过current_language()函数可以获得当前使用的语言,get_list_of_languages()函数可以获得所有的语言列表。其使用方法如下:

$currlang = current_language();

$langs    = get_list_of_languages();

9、 获得网站资料

get_site函数可以获得网站的基本资料,比如网站名。其使用方法如下:

$site = get_site();

Echo $site->fullname;

阅读(1392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~