gpt4 book ai didi

php - 如何用GET参数转发?

转载 作者:可可西里 更新时间:2023-10-31 22:53:12 27 4
gpt4 key购买 nike

如何使用GET参数进行转发?

我在同一个 Controller 中有两个 Action 。我在第一个 Action 中做了一些魔术,如果一切顺利,我希望它转发到另一个 Action ,但使用在第一个 Action 中创建的 GET 参数。

我现在拥有的是:

return $this->forward('AppBundle:default:tracked', array(), array(
'tracking_code' => $tracking_code,
'company' => $tp_company_name
)));

由于拼命努力让它工作,所以里面的数组是空的。 Documentation告诉第二个数组用于查询参数,但实际上什么也没发生,所以我一定是做错了什么。

第二个 Action 尝试像这样获取参数:

/**
* @Route("/tracked", name="tracked")
*/
public function trackedAction()
{
$request = Request::createFromGlobals();
// If there is the required variables in the GET:
if($request->query->has('tracking_code') && $request->query->has('company'))

但不,变量似乎永远不会到达那里。

我有这种设置的原因是用户也可以从另一个地方进入 trackedAction

最佳答案

我认为在第二个操作中获取参数的正确方法是这样做:

return $this->forward('AppBundle:default:tracked', array(
'tracking_code' => $tracking_code,
'company' => $tp_company_name
)));

你的第二个 Action 是:

/**
* @Route("/tracked/{tracking_code}/{company}", name="tracked")
*/
public function trackedAction($tracking_code=null, $company=null)
{
...
}

我使用了 $tracking_code = null 因为您指定可以从另一个地方访问它,而另一个地方可能不提供这些参数。这样对他们双方都有效。

希望这对您有所帮助。

关于php - 如何用GET参数转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31937543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com