1. 程式人生 > >【TP5 :請求】請求資訊

【TP5 :請求】請求資訊

請求資訊

使用 \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');