簡體   English   中英

從YAML中讀取PHP中的參數以處理Symfony2中的路由

[英]Reading parameter in PHP from YAML to handle routing in Symfony2

我有一個PHP文件,可以處理Symfony2項目中的路由,並且運行良好,但是,現在,我試圖添加一個參數,以將其從app / config / routing.yaml發送到我的php文件中

#app/config/routing.yaml
app:
    host:     "{ _locale }.*"
    defaults: { _locale: es}
    resource: "@AppBundle/config/routing.php"
    type:     php
    requirements: { _locale: en|es }

fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

我的疑問是如何從php路由文件中讀取_locale。 我嘗試使用$req= new \\Symfony\\Component\\HttpFoundation\\Request(); $req->getLocale() $req= new \\Symfony\\Component\\HttpFoundation\\Request(); $req->getLocale()但總是返回相同的值

您不能創建Request的新實例。 您需要由Symfony2本身創建的Request實例。

public function anyAction(Request $request)
{
    echo $request->getLocale();
}

或者,您可以嘗試控制器操作參數。

public function anyAction($_locale)
{
}

您的要求也有誤- requirements: {_locale: en|es }而不是requirements: {locale: en|es }

暫無
暫無

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

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