【TP5 :請求】請求資訊
阿新 • • 發佈:2018-12-08
使用 \think\Request
類獲取請求資訊
//初始化
$request = Request::instance();
或助手函式
$request = request();
最方便的還是使用注入請求物件的方式來獲取變數
獲取URL資訊
//例,http://tp5.com/index/index/hello.html?name=thinkphp
$request = Request::instance();
$request->domain() // 獲取當前域名 (http://tp5.com)
$request->baseFile() // 獲取當前入口檔案 (/index.php)
$request->url() // 獲取當前URL地址 不含域名 (/index/index/hello.html?name=thinkphp)
$request->url(true) // 獲取包含域名的完整URL地址 (http://tp5.com/index/index/hello.html?name=thinkphp)
$request->baseUrl() // 獲取當前URL地址 不含QUERY_STRING (/index/index/hello.html)
$request->root() // 獲取URL訪問的ROOT地址
$request->root(true ) // 獲取URL訪問的ROOT地址 (http://tp5.com)
$request->pathinfo() // 獲取URL地址中的PATH_INFO資訊 (index/index/hello.html)
$request->path() // 獲取URL地址中的PATH_INFO資訊 不含字尾 (index/index/hello)
$request->ext() // 獲取URL地址中的字尾資訊 (html)
設定 / 獲取 => 模組 / 控制器 / 操作 的名稱
//例,http://serverName/index.php/index/hello_world/index
$request = Request::instance();
//獲取名稱
$request->module(); //當前模組名稱 (index)
$request->controller(); //當前控制器名稱 (HelloWorld)
$request->action(); //當前操作名稱 (index)
//設定名稱
$request->module('module');
$request->controller('controller');
$request->action('action'); /
獲取請求引數
$request = Request::instance();
$request->method() //請求方法 (GET)
$request->type() //資源型別 (html)
$request->ip() //問ip地址 (127.0.0.1)
$request->isAjax() //是否AJax請求 (false)
$request->param()
/*請求引數:
array (size=2)
'test' => string 'ddd' (length=3)
'name' => string 'thinkphp' (length=8)
*/
$request->only(['name']) //請求引數:僅包含name
$request->except(['name']) //請求引數:排除name
獲取路由和排程資訊
//修改hello方法,http://serverName/hello/thinkphp
$request = Request::instance();
$request->route() //路由資訊
array (size=4)
'rule' => string 'hello/:name' (length=11)
'route' => string 'index/hello' (length=11)
'pattern' =>
array (size=1)
'name' => string '\w+' (length=3)
'option' =>
array (size=0)
empty
$request->dispatch() //排程資訊
array (size=2)
'type' => string 'module' (length=6)
'module' =>
array (size=3)
0 => null
1 => string 'index' (length=5)
2 => string 'hello' (length=5)
路由定義為:
return [
'hello/:name' =>['index/hello',[],['name'=>'\w+']],
];
設定請求資訊
$request = Request::instance();
$request->root('index.php');
$request->pathinfo('index/index/hello');