This package is currently in active development.
- Require the package using Composer:
composer require petersons/d2l-client- Provides a PHP HTTP client to communicate with D2L APIs
- Provides integration with Laravel
- PHP 8.2 or greater
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));You may publish the configuration file using the vendor:publish Artisan command:
php artisan vendor:publish --tag=d2l-configAfter setting up all the needed config env variables you can typehint
the \Petersons\D2L\Contracts\ClientInterface interface via the constructor of your service and start using it.
Docker dependencies for local development:
- Docker Engine >= 19.03
- Docker Compose >= 2.0
-
Clone project
git clone git@github.com:petersons/d2l-client.git
-
Build the Docker image
dev/bin/docker-compose build --build-arg PHP_VERSION=8.2 php
-
Install library dependencies
dev/bin/php composer update
-
Running all tests with Xdebug debugging disabled
dev/bin/php-test vendor/bin/phpunit
-
Running all tests with Xdebug debugging enabled
dev/bin/php-debug vendor/bin/phpunit
-
Running linter
dev/bin/php-test vendor/bin/php-cs-fixer fix
-
Clear Docker volumes
dev/bin/docker-compose down --volumes