我正在尝试使用Silex构建一个Web应用程序。对于我的一些路线,我希望结果是对另一条路线的新请求。
$app->get('/', function () use ($app) {
//Do something
//Request route /route2
});
$app->post('/route2', function () use ($app) {
//Do something else
return result
});
在我看来,这应该是一个非常标准的用例,但我找不到任何简单的方法来做到这一点。我知道redirect
但我不只是想重定向,因为我不想使用在第一个函数中创建的一组新的post参数。
我对Silex / Symfony和HTTP都很陌生,所以我想知道我是否遗漏了必要的东西?
编辑:我可能会补充一点,我一直在考虑修改当前的Request对象并用我自己的参数替换post数据,然后进行重定向,但似乎在Request类中没有任何支持这一点。
答案 0 :(得分:0)
您可以像这样使用Request Forwarding:
$app->get('/', function () use ($app) {
//
$subRequest = Request::create('/route2', 'GET');
return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
});
或代替$subRequest
,创建您的Request
对象。