asm / eprel-api-client-bundle
Symfony Bundle for the Eprel API Client
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
pkg:composer/asm/eprel-api-client-bundle
Requires
- php: ^8.4
- asm/eprel-api-client: ^1.0
- symfony/config: ^7.0
- symfony/dependency-injection: ^7.0
- symfony/http-kernel: ^7.0
Requires (Dev)
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^13.0
- squizlabs/php_codesniffer: ^3.11
- symfony/framework-bundle: ^7.0
- symfony/yaml: ^7.0
- vimeo/psalm: ^6.0
This package is auto-updated.
Last update: 2026-02-24 14:41:53 UTC
README
A Symfony 7 compatible bundle for the EPREL Public API Client.
Installation
Install the bundle via Composer:
composer require asm/eprel-api-client-bundle
If you don't use Symfony Flex, you must enable the bundle manually in your config/bundles.php:
// config/bundles.php return [ // ... Asm\EprelApiClientBundle\AsmEprelApiClientBundle::class => ['all' => true], ];
Configuration
Configure the bundle in config/packages/asm_eprel_api_client.yaml:
asm_eprel_api_client: # Your EPREL API Key (optional but recommended) api_key: '%env(EPREL_API_KEY)%' # Base URI of the EPREL API (optional) uri: 'https://eprel.ec.europa.eu/api' # Assets URI (optional) assets_uri: 'https://ec.europa.eu/assets/move-ener/eprel/EPREL%20Public/Nested-labels%20thumbnails/' # API Version (optional) version: 'latest' # Cache TTL in seconds (optional, default: 3600) cache_ttl: 3600 # Custom PSR-6 Cache Service ID (optional) cache_service: 'cache.app' # Custom PSR-3 Logger Service ID (optional) logger_service: 'logger' # Custom PSR-18 HTTP Client Service ID (optional) http_client_service: 'http_client'
Usage
You can now inject the Asm\EprelApiClient\EprelClient into your services or controllers:
<?php namespace App\Controller; use Asm\EprelApiClient\EprelClient; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; class EprelController extends AbstractController { #[Route('/eprel/product/{registrationNumber}', name: 'eprel_product')] public function show(string $registrationNumber, EprelClient $client): Response { $product = $client->getProduct($registrationNumber); return $this->json($product->toArray()); } }
License
This bundle is released under the MIT License. See the LICENSE file for details.