Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 4.3.x will end 7 October 2024 (12 months).
  • Bug fixes for security issues in 4.3.x will end 21 April 2025 (18 months).
  • PHP version: minimum PHP 8.0.0 Note: minimum PHP version has increased since Moodle 4.1. PHP 8.2.x is supported too.
<?php

namespace Packback\Lti1p3;

use Packback\Lti1p3\Interfaces\ILtiRegistration;
use Packback\Lti1p3\Interfaces\ILtiServiceConnector;
use Packback\Lti1p3\Interfaces\IServiceRequest;

abstract class LtiAbstractService
{
    private $serviceConnector;
    private $registration;
    private $serviceData;

    public function __construct(
        ILtiServiceConnector $serviceConnector,
        ILtiRegistration $registration,
< array $serviceData) < {
> array $serviceData > ) {
$this->serviceConnector = $serviceConnector; $this->registration = $registration; $this->serviceData = $serviceData; } public function getServiceData(): array { return $this->serviceData; } public function setServiceData(array $serviceData): self { $this->serviceData = $serviceData; return $this; } abstract public function getScope(): array;
> protected function validateScopes(array $scopes): void protected function makeServiceRequest(IServiceRequest $request): array > { { > if (empty(array_intersect($scopes, $this->getScope()))) { return $this->serviceConnector->makeServiceRequest( > throw new LtiException('Missing required scope', 1); $this->registration, > } $this->getScope(), > } $request >
< $request
> $request,
} protected function getAll(IServiceRequest $request, string $key = null): array { return $this->serviceConnector->getAll( $this->registration, $this->getScope(), $request, $key ); } }