Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.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)
    {
        $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 makeServiceRequest(IServiceRequest $request): array
    {
        return $this->serviceConnector->makeServiceRequest(
            $this->registration,
            $this->getScope(),
< $request
> $request,
); } protected function getAll(IServiceRequest $request, string $key = null): array { return $this->serviceConnector->getAll( $this->registration, $this->getScope(), $request, $key ); } }