Moodle插件开发大全

moodle插件开发国内可参考资料少的可怜,该笔记为完成毕设过程整理,囊括插件目录结构自动化创建工具使用、插件数据库创建工具使用、插件开发调试技巧、插件开发必备php基础知识及moodle平台封装源码解读等。

其中还包括自己开发的插件的一些内容,所以请读者自行判断择需阅读,写这篇博客的目的是将插件的大致开发流分享给大家,让大家尽快上手,具体的知识请到moodle官网阅读英文开发手册。

整理匆忙难免有纰漏,还请各位读者指正,不胜感激。

 

0、php相关:

参考教程:

http://www.runoob.com/php/php-variables.html

数据类型:http://www.runoob.com/php/php-datatypes.html

变量作用域:http://www.runoob.com/php/php-variables.html

输出方式区别(笔记部分):http://www.runoob.com/php/php-datatypes.html

常量定义使用:http://www.runoob.com/php/php-constants.html

 

1、插件目录结构:(使用第3点的工具自动构造,不用自己写)

Moodle插件开发大全_第1张图片

 

2、教程(插件开发教程,统统浏览一遍)

参考:https://docs.moodle.org/dev/Tutorial

3、自动构造工具:(用于构造插件的目录结构)

参考:https://docs.moodle.org/36/en/Plugin_skeleton_generator#Example

4、xmldb使用(用于设计数据库,建表、字段、外键,会生成install.xml文件)

参考:https://docs.moodle.org/dev/XMLDB_editor

 

5、公认的bug:对中文兼容性不好,目前官方也没有较好的解决办法。

解决办法:

0、eclipse---选中文件---设置属性---编码设置成UTF-8然后再输入中文字符。(亲测有效)

1、config.php加入

$CFG->unicodecleanfilename = true;

===============================1.9试了下只要改这个就可以了

(lib/editor/htmlarea/coursefiles.php),在第二行加上这样一句:

2、@header("Content-Type: text/html; charset=utf-8");

 

6、类命名参考:

https://docs.moodle.org/dev/Frankenstyle

 

7、定义插件功能权限(重点):

文件:access.php

参考:https://docs.moodle.org/dev/Access_API

https://docs.moodle.org/dev/NEWMODULE_Adding_capabilities

角色风险定级参考:

https://docs.moodle.org/dev/Hardening_new_Roles_system

角色原型参考:

Moodle插件开发大全_第2张图片

 

https://docs.moodle.org/dev/Role_archetypes

数据库部分:

Moodle插件开发大全_第3张图片

注册活动:

https://docs.moodle.org/dev/Enrolment_API

8、插件表单页面:

参考:https://docs.moodle.org/dev/Form_API

 

9、stringAPI

参考:https://docs.moodle.org/dev/String_API

get_string('editingquiz','mod_quiz'),字符串名,插件名。

各种骚操作都有。

 

10、moodle平台编码调试技巧:(重点)

Moodle插件开发大全_第4张图片

0、直接naginx\html\mod\codemanagement下用eclipse打开待编辑的文件编辑保存然后刷新网站即可。

1、平台调试:

网站管理----开发----保存更改

2、前端调试:

输出一般值:

echo("");

echo("");

输出数组对象值:

echo("");

echo("

你可能感兴趣的:(Moodle插件开发,PHP)