daniieljc/laravel-moodle

Laravel Moodle 客户端

0.0.3 2022-03-18 14:27 UTC

This package is auto-updated.

Last update: 2024-09-18 19:54:25 UTC


README

此项目为 ozq/moodle-client 的分支

Software License Total Downloads

daniieljc/laravel-moodle 是一个 Laravel 包,它创建了一种通过 api/webservice 与 moodle 交互的方法。

适配中,工作正在进行

安装

要通过 Composer 安装,请运行以下命令

$ composer require daniieljc/laravel-moodle

该包将自动注册服务提供者和别名。

可选地,通过运行以下命令发布包的配置文件

php artisan vendor:publish --provider="Daniieljc\LaravelMoodle\LaravelMoodleServiceProvider"

以下为错误文档

安装

建议通过 Composer 安装库

用法

创建 moodle 客户端实例,例如 REST 客户端

$client = new RestClient();

如果没有内置的服务和实体,您可以创建它们。
服务必须扩展 Service 抽象类,实体(作为 DTO)必须扩展 Entity 抽象类。

此外,您还可以在不使用服务层的情况下使用 moodle 客户端

$courses = $client->sendRequest('core_course_get_courses', $parameters);

真实示例

use Daniieljc\LaravelMoodle\Clients\Adapters\RestClient;
use Daniieljc\LaravelMoodle\Connection;
use Daniieljc\LaravelMoodle\Services\Course;
use Daniieljc\LaravelMoodle\Services\User;

class Moodle
{
    protected $client;

    public function __construct()
    {
        $this->client = new RestClient();
    }

    public function getAllClient()
    {
        $service = new User($this->client);
        $users = $service->getAll();
    }

    public function getEnRollUser()
    {
        $service = new Course($this->client);
        $courses = $service->getAll();
        foreach ($courses as $course) {
            $enroll = $service->getCourseEnRolledUser($course->id);
        }
    }
}