使用Route :: is()来检查路由是否是主页

时间:2018-02-08 23:25:19

标签: php laravel laravel-5

如何查看当前路由是否为根页?

我在刀片文件中尝试输入以下内容:

@if(Route::is('/')
//show something
@else 
//show something else
@endif

我也尝试过使用Route :: currentRouteName(),例如

@if(Route::currentRouteName() == '/')
//do something
@else
//do something else
@endif

它似乎无法在根页面上运行。 还有另一种方法吗?或根本没有路线?

5 个答案:

答案 0 :(得分:2)

您可以使用您的函数来检查currentRouteName,您只需要确保为我设置该路由的名称,如下所述:

  

路由:: get(' /',' HomeController @ index') - > name(' home');

@if(Route::currentRouteName() == 'home')
//do something
@else
//do something else
@endif

答案 1 :(得分:1)

Route::get('/', 'HomeController@index')->name('root');

@if(Route::currentRouteName() == 'root')
  //do something
@else
 //do something else
@endif

答案 2 :(得分:1)

@if(Request::is('/'))
  //do something
@else
  //do something
@endif

答案 3 :(得分:0)

或者,您也可以使用routeIs()

@if(request()->routeIs('home'))
  // yay
@else
  // nay
@endif

帮助程序的工作方式与普通"是",这意味着它支持多种模式,但与路由名称匹配。

答案 4 :(得分:0)

我知道这很老,但这也许可以帮助某人。

Route::is('something')适用于 路由名称 。因此,当您要使用它时,必须为路由添加一个名称。

Route::get('', 'SomeController@action')->name('welcome');

// then use it on view with Route::is

<span class="{{ Route::is('welcome') ? 'active' : '' }}">welcome</span>

*也可以使用此方法。

Route::is('blog*')
// inludes all route names that starts with blog