簡體   English   中英

從任何應用程序位置獲取GET參數(Symfony2)

[英]Take GET-parameter from any place of application (Symfony2)

我是Symfony的新手,但我看到它是一個非常好的框架。 現在,我正在與Yii合作,Symfony中的某些時間無法理解...(抱歉)

如何從任何控制器中獲取GET參數(例如?ref =),對其進行處理(在會話中保存REF ID)並返回當前頁面的當前用戶但沒有此GET參數?

  1. 創建一個偵聽kernel.request事件的事件偵聽器
  2. 檢查給定的URL是否包含必需的參數,並根據需要進行處理。
  3. 將重定向響應返回到相同的URL,但不帶ref參數:

     public function onKernelRequest(GetResponseEvent $event) { if (!$event->isMasterRequest()) { return; } if (!$event->getRequest()->query->has('ref')) { return; } $ref = $event->getRequest()->query->get('ref'); // do whatever you need $url = ...; // prepare redirect URL $event->setResponse(new RedirectResponse($url)); } 

您需要使用下一個構造:

http://example?ref=123


public function indexAction(Request $request)
{
    $ref = $request->query->get('ref');
}

暫無
暫無

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

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