所有代码文件应当使用 .php 作为扩展名。
所有模板文件应当使用 .html 作为扩展名。
所有文本文件应当使用Unix风格的文本格式(多数的文本编辑器都有这个选项)。
所有php标记都必须是“完整”标记,譬如<?php ?> … 而不是如<? ?>的“短”标记。
所有已经存在的版权声明应当被保留。如果有必要,您可以加入自己的。
每个文件都应当包含主config.php文件。
每个文件都应当检查用户的身份是否正确,可以使用函数require_login()和isadmin()、isteacher()、iscreator()或者isstudent()。
所有访问数据库的操作都应当使用lib/datalib.php中的函数――这样可以兼容更多的数据库服务器。所有的事情都应当是可以用这些函数来完成的,如果遇到必须要写SQL代码的情况,请记住这些代码应当是跨平台的,且仅仅对您代码中的特定函数(通常在一个lib.php文件中)有效,且代码中用注释进行明确说明。
不要建立和使用标准全局变量$CFG、$SESSION、$THEME和$USER之外的全局变量。
所有变量都应当被初始化或者至少在使用前用isset()或empty()等函数进行检测。
所有字符串都应当可翻译――在"lang/en"目录中创建新的文本文件,字符串应当使用简洁的英文小写名称,并通过函数get_string()或print_string()来取得。
所有帮助文件应当可翻译――在"en/help"目录中创建文本文件并且通过helpbutton()函数来调用它们。
如果需要上传一个帮助文件:
对于小的修改,旧的翻译文件仍然可以继续使用时,可以直接进行修改,但您应当通知[email protected]
对于大的修改,应当创建新的文件,新文件的文件名是在原文件名的末尾添加一个数字,并在以后逐渐增加(如filename2.html),这样翻译人员就可以方便地知道文件有了一个新的版本。很显然,新的代码和帮助索引文件都必须修改以指向新版本的文件。
从浏览器发来的信息(以GET或POST形式发送)都应用了magic_quotes(无论PHP的设置如何),因此直接将它们插入到数据库中是安全的。所有其它的原始数据(来自文件或数据库的)都必须在插入数据库前使用addslashes()进行预处理。
重要的:Moodle中所有的文本,特别是用户提供的文本,都必须使用format_text()函数来输出。这样就可以确保文本已经正确地过滤。