簡體   English   中英

在CLI中執行時,Symfony的url()Twig函數如何確定絕對路徑?

[英]How does Symfony `url()` Twig function determine the Absolute Path when executed in CLI?

假設我們的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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM