Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可选参数索引路由_Php_Laravel_Laravel 5_Lumen - Fatal编程技术网

Php 可选参数索引路由

Php 可选参数索引路由,php,laravel,laravel-5,lumen,Php,Laravel,Laravel 5,Lumen,我希望在索引路由上有一个可选参数,如下所示: $app->get('/{name?}', function ($name) { //Do Something here }); 我基本上想检查一下是否提供了一个参数。如果是,则返回特定视图,如果不是,则返回标准索引视图。就我的生活而言,我不能让它工作,更可能做一些愚蠢的事情!任何帮助都将不胜感激 首先,您需要使控制器函数中的$name参数为可选参数,以便在没有提供name时可以工作。然后,根据参数是否设置,可以返回不同的视图:

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

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

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

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

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

注意:在我看来,如果您创建了两个单独的路由,一个用于索引,另一个采用name参数,那么它将更具可读性,因为您的应用程序在这两种情况下的行为似乎完全不同。

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

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

注意:在我看来,如果您创建了两个单独的路由,一个用于索引,另一个采用name参数,那么它将更具可读性,因为您的应用程序在这两种情况下的行为似乎完全不同。

您好,jedrzej,我最终按照您的建议使用了两个单独的路由,效果不错。谢谢你的帮助!嗨,jedrzej,我最终按照你的建议选择了两条不同的路线,效果不错。谢谢你的帮助!