asm/eprel-api-client-bundle
A Symfony 7 compatible bundle for the EPREL Public API Client.
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],
];
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'
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());
}
}
This bundle is released under the MIT License. See the LICENSE file for details.
How can I help you explore Laravel packages today?