首页 » 网站建设 » php获取路由地址技巧_3分钟短文 Laravel 灵活地获取当前请求的路由地址

php获取路由地址技巧_3分钟短文 Laravel 灵活地获取当前请求的路由地址

访客 2024-12-06 0

扫一扫用手机浏览

文章目录 [+]

学习韶光

在 Laravel 4 中你可以利用系统供应的 Route 工具,直接访问其方法实现:

Route::currentRouteName();

虽然laravel做了很多努力向下兼容,但是随着PHP的版本升级, 以及框架的改良,实现同一功能的方法也越来越灵巧。

php获取路由地址技巧_3分钟短文  Laravel 灵活地获取当前请求的路由地址

首先我们仍旧可以通过 Route 工具的方法访问,代码写起来像下面这样:

php获取路由地址技巧_3分钟短文  Laravel 灵活地获取当前请求的路由地址
(图片来自网络侵删)

Route::getCurrentRoute()->getPath();

由于Route工具属于要求阶段,而框架将其关联到了 Request 工具上,以是也可以下面这样链式调用:

Request::route()->getName();

在 Laravel 5.1 内这样写:

use Illuminate\Support\Facades\Route;$currentPath= Route::getFacadeRoot()->current()->uri();

Laravel 5.2 利用门面实现:

use Illuminate\Support\Facades\Route;Route::currentRouteName();

当然了,既然能获取到路由地址,获取方法名自然也不在话下。
代码如下:

Route::getCurrentRoute()->getActionName();

如果要获取全体路由包括协议,域名,路由,要求参数,锚点这些信息,可以返回 path,

// https://example/foo/bar$uri = $request->path();

如果仅仅是 uri 的字符串,则利用

$url = $request->url();

如果要筛选特定字符串匹配的路由地址,可以利用 is 方法进行匹配验证:

if ($request->is('admin/')) { }

星号是通配符,返回所有匹配项。

Laravel 5.3 往后的框架,获取方法统一下来了,比如下面这样:

$route = Route::current();$name = Route::currentRouteName();$action = Route::currentRouteAction();写在末了

本文通过多个版本,多个方法的比对,演示了在程序内获取当前要求的路由地址,资源地址,方法名等等的办法, 在路由分配,权限掌握中可以灵巧利用。
Happy coding :-)

我是@程序员小助手,持续分享编程知识,欢迎关注。

标签:

相关文章