llagerlof / moodlerest
MoodleRest 是一个用于查询 Moodle REST Web服务的 PHP 类
2.4.0
2021-04-14 14:47 UTC
This package is auto-updated.
Last update: 2024-09-14 22:06:02 UTC
README
MoodleRest 是一个用于查询 Moodle REST Web服务的 PHP 类。你可以进行 GET 和 POST 请求。
快速入门
确保你已经可以访问 Moodle Web服务。使用此类,你需要一个令牌(由 Moodle 管理员生成),该令牌具有访问所需服务的必要能力。
重要
如果你需要关于 request() 方法的 $parameters 格式的详细解释,请在维基中阅读。
进入代码
你有两种方式将此库添加到你的项目中
选项一: 使用 Composer 将其包含到你的项目中。
- 在你的项目目录中创建或修改文件
composer.json
{ "require": { "llagerlof/moodlerest": "2.4.0" } }
- 在
composer.json
的同一目录下运行
$ composer install
- 在你的项目中,使用 composer 自动加载器加载库
<?php require_once dirname(__FILE__) . '/vendor/autoload.php'
选项二: 将 MoodleRest.php 类包含到你的脚本中。
require_once('MoodleRest.php');
示例 1
查询 Moodle 中 ID 为 1 和 2 的 2 个群组,通过构造函数传递服务器 URL 和令牌。
$MoodleRest = new MoodleRest('http://127.0.0.1/moodle/webservice/rest/server.php', '8f12e614dae30735260a045313caa400'); $groups = $MoodleRest->request('core_group_get_groups', array('groupids' => array(1,2))); print_r($groups);
示例 2
在构造函数中设置服务器和令牌,并对 Moodle 创建群组进行请求。
$MoodleRest = new MoodleRest('http://127.0.0.1/moodle/webservice/rest/server.php', '8f12e614dae30735260a045313caa400'); $new_group = array('groups' => array(array('courseid' => 2, 'name' => 'Group name', 'description' => 'Group description'))); // The default request's METHOD is to make a GET request, but you can change it to POST. This is recommended when inserting and updating data. $return = $MoodleRest->request('core_group_create_groups', $new_group, MoodleRest::METHOD_POST); // If you want the requested URL echo $MoodleRest->getUrl();
示例 3
查询 ID 为 1 和 2 的 2 个预存 Moodle 群组(类似于示例 1,不需要在构造函数中设置服务器和令牌值)。
$MoodleRest = new MoodleRest(); $MoodleRest->setServerAddress("http://127.0.0.1/moodle/webservice/rest/server.php"); $MoodleRest->setToken('8f12e614dae30735260a045313caa400'); $MoodleRest->setReturnFormat(MoodleRest::RETURN_ARRAY); // Array is default. You can use RETURN_JSON or RETURN_XML too. // You can enable debugging information using setDebug() // When debugging is enabled, after each request the built URL and the result returned by the webservice function are printed to the standard output. $MoodleRest->setDebug(); $arr = $MoodleRest->request('core_group_get_groups', array('groupids' => array(1,2)), MoodleRest::METHOD_GET); // Note: You can make more requests using the same object
示例 4
使用链式方法进行请求,并以 json 格式返回结果。
/* The $parameters variable below translates in URL as: userlist[0][userid]=5& userlist[0][courseid]=2& userlist[1][userid]=4& userlist[1][courseid]=2" */ $parameters = array('userlist' => array(array('userid' => 5, 'courseid' => 2), array('userid' => 4, 'courseid' => 2))); $json = (new MoodleRest())->setServerAddress("http://127.0.0.1/moodle/webservice/rest/server.php")-> setToken('8f12e614dae30735260a045313caa400')-> setReturnFormat(MoodleRest::RETURN_JSON)->request('core_user_get_course_user_profiles', $parameters); echo $json;
更多信息请在维基中查看。