0

我正在尝试使用 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 对象并用我自己的参数替换帖子数据,然后进行重定向,但 Request 类中似乎没有任何支持。

4

1 回答 1

0

您可以像这样使用请求转发

$app->get('/', function () use ($app) {
//
$subRequest = Request::create('/route2', 'GET');
return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
});

或代替$subRequest,创建您的Request对象。

于 2013-07-13T21:04:25.287 回答