dbp / relay-base-course-bundle
Installs: 11 317
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=8.1
- ext-json: *
- api-platform/core: ^2.7.11 || ^3.2
- dbp/relay-core-bundle: ^0.1.171
- symfony/config: ^5.4 || ^6.4
- symfony/dependency-injection: ^5.4 || ^6.4
- symfony/framework-bundle: ^5.4 || ^6.4
- symfony/http-foundation: ^5.4 || ^6.4
- symfony/http-kernel: ^5.4 || ^6.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.8.11
- phpstan/phpstan-phpunit: ^1.2.2
- phpunit/phpunit: ^10.1
- symfony/browser-kit: ^5.4.11 || ^6.4
- symfony/error-handler: ^5.4 || ^6.4
- symfony/http-client: ^5.4.15 || ^6.4
- symfony/monolog-bridge: ^5.4 || ^6.4
- symfony/monolog-bundle: ^3.8
- symfony/phpunit-bridge: ^5.4.14 || ^6.4
- vimeo/psalm: ^5.22.2
README
Base Symfony bundle for courses for the DBP Relay API Server.
Integration into the Relay API Server
- Add the bundle package as a dependency:
composer require dbp/relay-base-course-bundle
- Add the bundle to your
config/bundles.php
:
... Dbp\Relay\BasePersonBundle\DbpRelayBaseCourseBundle::class => ['all' => true], ... ];
- Run
composer install
to clear caches
Course provider implementation
For this bundle to work you need to add a service that implements the CourseProviderInterface to your application.
Example
Service class
For example, create a service src/Service/CourseProvider.php
:
<?php namespace App\Service; use Dbp\Relay\BaseCourseBundle\API\CourseProviderInterface; use Dbp\Relay\BaseCourseBundle\Entity\Course; class CourseProvider implements CourseProviderInterface { public function getCourseById(string $identifier, array $options = []): ?Course { $course = new Course(); $course->setIdentifier($identifier); $course->setName('Field Theory'); $course->setDescription('News from field theory'); return $course; } ... }
Services configuration
For the example service above you need to add the following to your src/Resources/config/services.yaml
:
Dbp\Relay\BaseCourseBundle\API\CourseProviderInterface: '@App\Service\CourseProvider'