1. 前言
在Web开发中,获取请求过来的网址是一项基础且常用的操作,本文将介绍thinkphp5中如何获取请求过来的网址。
2. 获取当前URL
2.1 使用request助手函数
使用Thinkphp5自带的request助手函数,可以很方便地获取当前的URL,示例代码如下:
use think\facade\Request;
$current_url = Request::url(); // 获取包含参数的完整URL,例如:http://example.com/index.html?id=123
Request::url()方法能够获取包含请求参数的完整URL。如果只想要获取不包含参数的URL,可以使用Request::baseUrl()方法,以下是示例代码:
$current_url = Request::baseUrl(); // 获取不包含参数的完整URL,例如:http://example.com/index.html
2.2 使用TP5自带的input类
TP5自带的input类也可以获取当前的URL,示例如下:
use think\facade\Input;
$current_url = Input::server('REQUEST_URI'); // 获取包含参数的完整URL,例如:/index.php/index/index?id=123
与Request::url()方法类似,上述代码能够获取包含请求参数的完整URL。如果只想要获取不包含参数的URL,可以使用以下代码:
$current_url = Input::server('SCRIPT_NAME'); // 获取不包含参数的完整URL,例如:/index.php/index/index
3. 获取请求的URL信息
除了获取完整URL之外,通常还需要获取请求的URL信息,包括协议、域名、端口、路径等,示例代码如下:
use think\facade\Request;
$scheme = Request::scheme(); // 获取协议,http或https
$domain = Request::domain(); // 获取域名
$port = Request::port(); // 获取端口
$path = Request::path(); // 获取路径(不包括域名和参数),例如:/index.php/index/index
4. 获取参数
除了获取URL信息以外,需要获取请求过来的参数也是非常常见的需求。参数可以通过GET、POST等方式传递,以下是获取GET和POST参数的示例代码:
4.1 获取GET参数
use think\facade\Request;
$id = Request::get('id'); // 获取单个GET参数
$params = Request::get(); // 获取所有GET参数,以数组形式返回
4.2 获取POST参数
use think\facade\Request;
$name = Request::post('name'); // 获取单个POST参数
$params = Request::post(); // 获取所有POST参数,以数组形式返回
5. 总结
本文介绍了thinkphp5中获取请求过来的网址的方法,包括获取当前URL、获取请求的URL信息、获取GET参数、获取POST参数等。在实际开发中,需要根据不同的需求选择不同的方法,以达到最佳的效果。