moodle二次开发指南-代码编写指南

moodle二次开发指南-代码编写指南

ID:9533199

大小:57.00 KB

页数:6页

时间:2018-05-03

moodle二次开发指南-代码编写指南_第1页
moodle二次开发指南-代码编写指南_第2页
moodle二次开发指南-代码编写指南_第3页
moodle二次开发指南-代码编写指南_第4页
moodle二次开发指南-代码编写指南_第5页
资源描述:

《moodle二次开发指南-代码编写指南》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通用规则1.所有代码文件应当使用“.php”作为扩展名。2.所有模板文件应当使用“.html”作为扩展名。3.所有文本文件应当使用Unix风格的文本格式(多数的文本编辑器都有这个选项)。4.所有php标记都必须是“完整”标记,如……而非如的短标记。5.所有已经存在的版权声明应当被保留。如果有必要,您可以加入自己的。6.每个文件都应当包含主config.php文件。7.每个文件都应当检查用户的身份是否正确,可以使用函数require_login()和isadmin()、isteacher()、iscrea

2、tor()或者isstudent()。8.所有访问数据库的操作都应当使用lib/datalib.php中的函数――这样可以兼容更多的数据库服务器。所有的事情都应当是可以用这些函数来完成的,如果遇到必须要写SQL代码的情况,请记住这些代码应当是跨平台的,且仅仅对您代码中的特定函数(通常在一个lib.php文件中)有效,且代码中用注释进行明确说明。9.不要建立和使用标准全局变量$CFG、$SESSION、$THEME、$SITE、$COURSE和$USER之外的全局变量。10.所有变量都应当被初始化或者至少在使用前用isset()或

3、empty()等函数进行检测。11.所有字符串都应当可翻译――在“lang/en_utf8”目录中创建新的文本文件,字符串应当使用简洁的英文小写名称,并通过函数get_string()或print_string()来取得。为了保证语言包的向后兼容,绝对不要删除字符串。12.所有帮助文件应当可翻译――在“lang/en_utf8/help”目录中创建文本文件并且通过helpbutton()函数来调用它们。如果要更新帮助文件:§对于小的修改,旧的翻译文件仍然可以继续使用时,可以直接进行修改,但您应当通知translationATmo

4、odleDOTorg。§对于大的修改,应当创建新的文件,新文件的文件名是在原文件名的末尾添加一个数字,并在以后逐渐增加(如filename2.html),这样翻译人员就可以方便地知道文件有了一个新的版本。很显然,新的代码和帮助索引文件都必须修改以指向新版本的文件。13.从浏览器发来的信息(以GET或POST形式发送)都应用了magic_quotes(无论PHP的设置如何),因此直接将它们插入到数据库中是安全的。所有其它的原始数据(来自文件或数据库的)都必须在插入数据库前使用addslashes()进行预处理。由于在这个问题上人们

5、经常出错,我们编写了一个独立的页面来介绍如何添加和删除“”符号。14.非常重要:Moodle中所有的文本,特别是用户提供的文本,都必须使用format_text()函数来输出。这样就可以确保文本已经正确地过滤。在输出函数页面上有关于这个问题的更多信息。.15.用户的动作应当用add_to_log()函数记录下来,这些信息会被用于活动报告和日志。编码风格我知道,如果您已经习惯了一种编码风格而我却让您改变它是有一点讨厌的,但比较而言,这比日后所有人都需要去搞清混合风格的Moodle代码要好一些。对于人们使用的任何编码风格都有很多支

6、持和反对的意见,但现在正在使用的风格已经存在了,因此请坚持下去。1.缩进应当是4个连续的空格。绝对不要使用制表符。2.变量名应当是容易理解、有含义的小写英文单词。如果确实需要两个或以上的单词,请把它们连在一起,但要保持名称尽可能短。对于数组对象,请使用复数名称。好的:$quiz好的:$errorstring好的:$assignments(foranarrayofobjects)好的:$i(butonlyinlittleloops)坏的:$Quiz坏的:$aReallyLongVariableNameWithoutAGoodRea

7、son坏的:$error_string3.常量应当总是大写的,并总是以模块的名称作为前缀。单词之间应当用下划线分隔。define("FORUM_MODE_FLATOLDEST",1);4.函数名称应当是简单的英文小写单词,且总是以模块名作为前缀以防止模块之间的冲突。单词之间以下划线分隔。变量如果可能应当总有合理的缺省值。注意在函数名和其后的括号之间没有空格。functionforum_set_display_mode($mode=0){global$USER,$CFG;if($mode){$USER->mode=$mode;}e

8、lseif(empty($USER->mode)){$USER->mode=$CFG->forum_displaymode;}}5.语句块必须总是使用大括号(即便是只有一行)。Moodle使用如下风格:if($quiz->attempts){if($numatt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。