Bonjour,
J'aimerais faire un systéme de variable global comme "Silex" et d'autres framework le propose.
Par exemple je créer une variable qui va stocker un nombre, et j'aimerais pouvoir utiliser ce nombre dans mon controller ou meme ailleurs.
A quoi cella peux-il bien servir me direz vous ? Et bien les clients ne sont pas aussi fûter que nous les developper donc j'aurai aimé faire un fichier config.php, stockant par exemple les informations à la BDD, ou encore d'autres informations et pouvoir les utilisé par la suite.
Petite exemple avec Silex:
Declaration:
$app['db.host'] = "localhost";
Utilisation:
public function monAction(Environment $twig)
{
return new Response($twig->render('view/home.html.twig', array("host" => $app['db.host'])));
}
Cordialement, et merci de votre aide !
Vous pouvez utiliser le fichier services.yml pour définir les paramettres
http://symfony.com/doc/current/best_practices/configuration.html
ou bien le .env avec le component Dotenv
https://symfony.com/doc/current/components/dotenv.html
Vous voulez mettre en place des variables globaux accessible depuis tes vue ?
Alors pour répondre il faut creer des variable global dans twig, et les appeler dans notre base.html.twig
Heu si petite question comment passer des variable dotEnv dans mon base.html.twig vu qu'il n'y a pas de controller j'ai chercher dans la doc et rien trouvé ! Merci
Bonjour @BlueCake,
Tu peux appeler ton variable
https://symfony.com/blog/new-in-symfony-3-4-advanced-environment-variables
parameters:
db.host: '%env(DATABASE_HOST)%'
et dans le config/packages/twig.yaml
https://symfony.com/doc/current/templating/global_variables.html
twig:
# ...
globals:
db_host: %db.host%