作为程序员一定要保持良好的睡眠,才能好编程

laravel formrequest 获取路由参数及相关路由获取方式

发布时间:2019-11-21

场景:在laravel 中的request验证类中获取路由参数比如 "role/66" 中的66
方法:首先查看“66”所在路由的占位的单词,可以在php artisan route:list 中查找,
找到"role/{role_id}", 在request 类中就可以使用:
$this->route('role_id')
来获取这个路由参数



还有一种获取方法

获取pathinfo上所有的参数 

$request->route()->parameters()




//获取所有的路由

1、app('router')->getRoutes()

2、Route::getRoutes()



URL::current();  获取到当前访问地址的路由





当前的url     \Request::getRequestUri()

当前route   \Request::route()->getName()





// url: http://xx.com/aa/bb
 Request::url();
// 路径: /aa/bb
 Request::path();
// 获取请求 Uri: /aa/bb/?c=d
 Request::getRequestUri();
// 返回用户的 IP
 Request::ip();
// 获取 Uri: http://xx.com/aa/bb/?c=d
 Request::getUri();
// 获取查询字符串: c=d
 Request::getQueryString();
// 获取请求端口 (例如 80, 443 等等)
 Request::getPort();
// 判断当前请求的 URI 是否可被匹配
 Request::is('foo/*');
// 获取 URI 的分段值 (索引从 1 开始)
 Request::segment(1);
// 从请求中取回头部信息
 Request::header('Content-Type');
// 从请求中取回服务器变量
 Request::server('PATH_INFO');
// 判断请求是否是 AJAX 请求
 Request::ajax();
// 判断请求是否使用 HTTPS
 Request::secure();
// 获取请求方法
 Request::method();
// 判断请求方法是否是指定类型的
 Request::isMethod('post');
// 获取原始的 POST 数据
 Request::instance()->getContent();
// 获取请求要求返回的格式
 Request::format();
// 判断 HTTP Content-Type 头部信息是否包含 */json
 Request::isJson();
// 判断 HTTP Accept 头部信息是否为 application/json
 Request::wantsJson();


1. 获取请求url

#$request需要注入`Request $request`
$url = $request->url();//返回不带查询字符串(不带参数)的URL:http://laravel.demo/hello
$url = $request->fullUrl();//包含查询字符串:http://laravel.demo/hello?kk=111
$url = url()->current();//返回不带查询字符串(不带参数)的URL:http://laravel.demo/hello
$url = url()->full();//包含查询字符串:


$url = url()->previous()  获取上一个页面的路由