petersons/d2l-client

连接到 Brightspace/D2L API 的客户端实现。

v0.12.0 2024-03-24 21:45 UTC

This package is auto-updated.

Last update: 2024-09-24 22:52:16 UTC


README

Build Status codecov

状态

此包目前正在积极开发中。

安装

  1. 使用 Composer 安装包
composer require petersons/d2l-client

功能

  • 提供 PHP HTTP 客户端以与 D2L API 进行通信
  • 提供与 Laravel 的集成

需求

使用示例

use Petersons\D2L\AuthenticatedUriFactory;
use Petersons\D2L\DTO\Enrollment\CreateEnrollment;
use Petersons\D2L\SymfonyHttpClient;
use Symfony\Component\HttpClient\HttpClient;
use Symfony\Component\HttpClient\ScopingHttpClient;

$client = new SymfonyHttpClient(
            ScopingHttpClient::forBaseUri(
                HttpClient::create(),
                'https://petersonstest.brightspace.com',
            ),
            new AuthenticatedUriFactory(
                'https://petersonstest.brightspace.com',
                'appId',
                'appKey',
                'lmsUserId',
                'lmsUserKey',
            ),
            'orgId',
            'installationCode',
            'pKey',
            'apiLpVersion', // e.g. 1.30
            'apiLeVersion', // e.g. 1.53
        );

$client->enrollUser(new CreateEnrollment(1, 2, 3));

Laravel 集成

您可以使用 vendor:publish Artisan 命令发布配置文件

php artisan vendor:publish --tag=d2l-config

在设置所有需要的配置环境变量后,您可以通过服务的构造函数对 \Petersons\D2L\Contracts\ClientInterface 接口进行类型提示并开始使用它。

本地开发

本地开发的 Docker 依赖项

  1. 克隆项目

    git clone git@github.com:petersons/d2l-client.git
  2. 构建 Docker 镜像

    dev/bin/docker-compose build --build-arg PHP_VERSION=8.2 php
  3. 安装库依赖项

    dev/bin/php composer update
  4. 禁用 Xdebug 调试运行所有测试

    dev/bin/php-test vendor/bin/phpunit
  5. 启用 Xdebug 调试运行所有测试

    dev/bin/php-debug vendor/bin/phpunit
  6. 运行代码检查器

    dev/bin/php-test vendor/bin/php-cs-fixer fix
  7. 清除 Docker 体积

    dev/bin/docker-compose down --volumes