Dans cette procédure, je vais vous expliquer comment lire un fichier .env depuis un contrôleur Symfony 6.
Prérequis :
- Un projet Symfony 6 (Debian / Windows)
- Avoir un contrôleur Symfony 6
Symfony lire un fichier .env depuis un contrôleur
Dans un premier temps, pour lire les variables d’environnements présents dans un fichier .env, il faut se rendre dans le fichier config/services.yaml et configurer les variables :
parameters:
app.var_name: '%env(APP_VAR_NAME)%'
services:
Note: APP_VAR_NAME est le nom de la variable d’environnement présente dans le fichier .env
Ensuite depuis le contrôleur dont vous souhaitez utilisez le contenu de cette variable de la manière suivante :
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class TestController extends AbstractController
{
#[Route('/', name: 'app_test')]
public function index(): Response
{
return $this->redirectToRoute('app_home', [
'value' => $this->getParameter('app.var_name'),
]);
}
}
Source :
https://symfony.com/doc/current/index.html