可选参数索引路由

时间:2016-10-11 10:05:42

标签: php laravel laravel-5 lumen

我希望在索引路径上有一个可选参数,如下所示:

$app->get('/{name?}', function ($name) {
      //Do Something here
});

我基本上想检查并查看是否提供了参数。如果是,则返回特定视图,如果不返回标准索引视图。对于我的生活,我无法让它工作,更可能做一些愚蠢的事情!任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

首先,您需要在控制器函数中将 $ name 参数设置为可选,以便在提供名称时它可以正常工作。然后,根据参数是否设置,您可以返回不同的视图:

$app->get('/{name?}', function ($name = null) {
  if (is_null($name))  {
    return view('index');
  }
  else {
    return view('some_other_view');
  }
});

注意:在我看来,如果你创建了2个单独的路由,一个用于索引,另一个用于获取name参数,那将更具可读性,因为在这两个案例中你的应用程序的行为似乎是完全不同。