Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to access base url in twig from symfony 2 console?

Tags:

php

twig

symfony

I am porting my website which is in Kohana to Symfony 2 gradually. Right now I am writing backend command in Symfony2, e.g. cron to send email notifications.

How can I access base url in twig. Can I do some configuration so that accessing urls in twig from console and from http request to be same ?

I have already reffered to this,

http://symfony.com/doc/current/cookbook/console/sending_emails.html

http://symfony.com/doc/current/cookbook/templating/global_variables.html

here, it is given how to configure it, but it is not mentioned how to access it, I assume I have to use {{ router.request_context.host }}.

But my question is, isn't there any way to be consistent between console and HTTP ?

e.g. {{ url }} ?

like image 899
vishal Avatar asked Dec 26 '22 23:12

vishal


1 Answers

Add following setting in parameters.yml,

router.request_context.scheme: http
router.request_context.host: domain.com
base_url: '%router.request_context.scheme%://%router.request_context.host%/'

and inside console command controller you can access like,

$host =  $this->getContainer()->get('router')->getContext()->getHost();
$scheme =  $this->getContainer()->get('router')->getContext()->getScheme();
$baseURL = $this->getContainer()->getParameter('base_url');             
like image 75
Hemant Thorat Avatar answered Jan 13 '23 14:01

Hemant Thorat