如果要獲取當前的請求資訊,可以使用
\think\request
類, 除了下文中
$request = request::instance();
也可以使用助手函式
$request = request();
當然,最方便的還是使用注入請求物件的方式來獲取變數。
例如:
//獲取url資訊
$request = request::instance();
// 獲取當前網域名稱
echo 'domain: ' . $request->domain() . '
';// 獲取當前入口檔案
echo 'file: ' . $request->basefile() . '
';// 獲取當前url位址 不含網域名稱
echo 'url: ' . $request->url() . '
';// 獲取包含網域名稱的完整url位址
echo 'url with domain: ' . $request->url(true) . '
';// 獲取當前url位址 不含query_string
echo 'url without query: ' . $request->baseurl() . '
';// 獲取url訪問的root位址
echo 'root:' . $request->root() . '
';// 獲取url訪問的root位址
echo 'root with domain: ' . $request->root(true) . '
';// 獲取url位址中的path_info資訊
echo 'pathinfo: ' . $request->pathinfo() . '
';// 獲取url位址中的path_info資訊 不含字尾
echo 'pathinfo: ' . $request->path() . '
';// 獲取url位址中的字尾資訊
echo 'ext: ' . $request->ext() . '
';
輸出結果為:
domain:
file: /index.php
url: /index/index/hello.html?name=thinkphp
url with domain: /index/index/hello.html?name=thinkphp
url without query: /index/index/hello.html
root:
root with domain:
pathinfo: index/index/hello.html
pathinfo: index/index/hello
ext: html
設定/獲取 模組/控制器/操作名稱
$request = request::instance();
echo "當前模組名稱是" . $request->module();
echo "當前控制器名稱是" . $request->controller();
echo "當前操作名稱是" . $request->action();
如果當前訪問的位址是
輸出結果為:
當前模組名稱是
index
當前控制器名稱是
helloworld
當前操作名稱是
index
設定模組名稱值需要向module方法中傳入名稱即可,同樣使用於設定控制器名稱和操作名 稱
request::instance()->module('module_name');
獲取請求引數
$request = request::instance();
echo '請求方法:' . $request->method() . '
';echo '資源型別:' . $request->type() . '
';echo '是否ajax請求:' . var_export($request->isajax(), true) . '
';echo '請求引數:';
dump($request->param());
echo '請求引數:僅包含name';
dump($request->only(['name']));
echo '請求引數:排除name';
dump($request->except(['name']));
輸出結果為:
請求方法:
get
資源型別:
html 訪問
ip127.0.0.1 是否
ajax
請求:false
請求引數:
array (size=2)
'test' => string 'ddd' (length=3)
'name' => string 'thinkphp' (length=8)
請求引數:僅包含
name
array (size=1)
'name' => string 'thinkphp' (length=8)
請求引數:排除
name
array (size=1)
'test' => string 'ddd' (length=3)
獲取路由和排程資訊
hello方法修改如下:
$request = request::instance();
echo '路由資訊:';
dump($request->route());
echo '排程資訊:';
dump($request->dispatch());
路由定義為:
輸出資訊為:
路由資訊:
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
排程資訊:
array (size=2)
'type' => string 'module' (length=6)
'module' =>
array (size=3)
0 => null
1 => string 'index' (length=5)
2 => string 'hello' (length=5)
設定請求資訊
如果某些環境下面獲取的請求資訊有誤,可以手動設定這些資訊引數,使用下面的方式:
$request = request::instance();
$request->root('index.php');
$request->pathinfo('index/index/hello');
第八周 刪除
題目描述 從串s中刪除其值等於c的所有字元。如從message中刪除 e 得到的就是mssag 1 演算法庫中的標頭檔案部分 ifndef sqstring h included define sqstring h included define maxsize 100 最多的字元個數 typede...
第八周學習
第八周學習週報 2018.10.22 10.28 一 本週學習情況 本週主要學習了 開源硬體 arduino基礎教程 1 歐姆定律 2 光敏電阻與三極體的初步認識 3 多種方法控制並點亮led燈 按鈕開關,光敏開關,紅外開關 訪問了csdn社群的計算機基礎板塊,學習大神的帖子。利用開源硬體對網課裡的...
第八周作業
1 理解窗體的檔案含義及組織結構 如 form1.cs form1.designer.cs form1.resx 控制項的屬性 方法和事件。2 完全用 的方式在form1.cs檔案中建立乙個文字標籤物件label1,用 設定label1的parent location name text autos...