2017-05-03 7 views
0

スリムアプリケーションでは多くのルートが宣言されています。私が呼び出す場合 は、これらのうちのいくつかは、例えばルートパラメータースリムルートオーダー宣言とルートパラメーター

$app->get("/:user/profile",function($user) use($app){ ... }); 
$app->get("/test/:id",function($id) use($app){ ... }); 

を持っている:

http://myhost/test/1 

それは両方のルートに適しており、その後、宣言の順序は非常に重要です! 静的ルータをパラメータ化して優先順位を付ける方法はありますか?私は願っています

+0

これはルートを呼び出すときに衝突する可能性のある2つのルートですか? –

答えて

0

@Tobiaはこれにしたい(スリムなフレームワーク2用):

たびに、ファイル内の二つの経路を持っていて、その中のSO呼び出しの時にあなたの二つの経路が同じURIであることを思えばケースの使用pass()

ルートは、いくつかの条件を作り、あなたのような場合のためにスリムアプリケーションのパス()メソッド

で次のマッチング ルートに進みTRをスリムアプリケーションを伝えることができますこれは次のようなものです:

$app->get("/:user/profile",function($user) use($app){ 
    if($user == "POSSIBLE VALUES"){ // make condition that can be found in the $user parameter 

    } 
    else{ 
     $app->pass(); 
    } 

}); 

$app->get("/test/:id",function($id) use($app){ 

}); 
+0

私は " - >パス"メソッドを見逃しました!非常に便利です、ありがとう。 – Tobia