在CLI中执行时,Symfony`url()`Twig函数如何确定绝对路径?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CLI中执行时,Symfony`url()`Twig函数如何确定绝对路径?相关的知识,希望对你有一定的参考价值。
让我们假装我们的Twig模板包含以下代码:{{ absolute_url(path('__Controller__')) }}
或{{ url('__Controller__') }}
。
当Twig在包含上述函数的Symfony(即:2.7)命令中执行时生成html,如何确定绝对路径?
答案
它从RequestContext读取它。在HTTP请求期间从请求数据自动填充,但需要在CLI环境中明确设置。
您可以手动配置它:
$context = $this->container->get('router')->getContext();
$context->setHost('mydomain.com');
$context->setScheme('https');
或者让Symfony通过设置以下参数自动为您完成:
# app/config/parameters.yml
parameters:
router.request_context.host: mydomain.com
router.request_context.scheme: https
Symfony文档有一篇文章解释这个:https://symfony.com/doc/2.8/console/request_context.html
以上是关于在CLI中执行时,Symfony`url()`Twig函数如何确定绝对路径?的主要内容,如果未能解决你的问题,请参考以下文章