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いますが、最初の関数で作成された新しいポストパラメーターのセットを使用したくないので、リダイレクトしたくありません。

私は 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 に答える