12

同じ匿名コールバックを使用する複数のルートを定義するにはどうすればよいですか?

$app->get('/first_route',function()
{
   //Do stuff
});
$app->get('/second_route',function()
{
   //Do same stuff
});

機能する関数への参照を使用できることはわかっていますが、匿名関数を使用してコードベースの残りの部分と一貫性を保つためのソリューションを希望します。

基本的に、私が探しているのは、次のようなことを行う方法です。

$app->get(['/first_route','/second_route'],function()
{
       //Do same stuff for both routes
});

〜または〜

$app->get('/first_route',function() use($app)
{
   $app->get('/second_route');//Without redirect
});

ありがとうございました。

4

3 に答える 3

20

条件を使用して、まさにそれを実現できます。これを使用して URL を変換します。

$app->get('/:route',function()
{
    //Do same stuff for both routes
})->conditions(array("route" => "(first_route|second_route)"));
于 2013-04-02T18:54:23.550 に答える
14

フレームワーク固有の解決策を提供することはできませんが、それが役立つ場合は、匿名関数を参照できます。

$app->get('/first_route', $ref = function()
{
   //Do stuff
});
$app->get('/second_route', $ref);
于 2012-07-17T11:19:31.503 に答える
4

コールバックはデリゲートです。だからあなたはそのようなことをすることができます:

$app->get('/first_route', myCallBack);
$app->get('/second_route', myCallBack);

function myCallBack() {
    //Do stuff
}
于 2014-04-18T09:42:52.933 に答える