在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函数如何确定绝对路径?的主要内容,如果未能解决你的问题,请参考以下文章
Symfony CLI 在运行“new”命令时没有使用正确的 PHP 版本
创建新 symfony 项目时出错,无法使用 bin/console
Symfony 5 - 在类别 url 中显示 id 和 slug 并在更新 slug 时通过 id 找到它
使用 Symfony 路由从 .htaccess 重写 URL