第八周 ThinkPHP5 0請求資訊

2021-09-26 11:13:19 字數 3981 閱讀 8246

如果要獲取當前的請求資訊,可以使用

\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...