在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
在Laravel v4中,我可以使用…
Route::currentRouteName()
我如何在Laravel v5和Laravel v6中做到这一点?
当前回答
它不需要记忆任何东西,当你想请求某个变量时,通过dd(Request())可以评估哪个变量对你来说是突出的。 在下图中,它很清楚。
如果你想获取路径,显然,这段代码会显示
dd(request()->getpathInfo())
别忘了嵌入 使用说明\ Http \请求; 例如:
if(request()->getpathInfo()=="/logadmin"){
do somethings....
}
其他回答
你可以使用这行代码:url()->current()
在刀片文件中:{{url()->current()}}
在Helper文件中,
您可以使用Route::current()->uri()来获取当前URL。
因此,如果你比较你的路由名在菜单上设置活动类,那么如果你使用
Route::currentRouteName()获取路由名并进行比较
找到了一种查找当前路由名称的方法,适用于laravel v5, v5.1.28和v5.2.10
名称空间
use Illuminate\Support\Facades\Route;
and
$currentPath= Route::getFacadeRoot()->current()->uri();
对于Laravel Laravel v5.3,你可以使用:
use Illuminate\Support\Facades\Route;
Route::currentRouteName();
如果你想在多条路线上选择菜单,你可以这样做:
<li class="{{ (Request::is('products/*') || Request::is('products') || Request::is('product/*') ? 'active' : '') }}"><a href="{{url('products')}}"><i class="fa fa-code-fork"></i> Products</a></li>
或者如果你想只选择一个菜单,你可以简单地这样做:
<li class="{{ (Request::is('/users') ? 'active' : '') }}"><a href="{{url('/')}}"><i class="fa fa-envelope"></i> Users</a></li>
在Laravel 5.2中也进行了测试
希望这能帮助到一些人。
访问当前路由(v5.3起)
你可以在Route虚包上使用current, currentRouteName和currentRouteAction方法来访问处理传入请求的路由信息:
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
参考Route虚包和Route实例的底层类的API文档,查看所有可访问的方法。
参考资料:https://laravel.com/docs/5.2/routing#accessing-the-current-route