TP5.0獲取請求類和URL根基信息
1、若何獲取請求類
系統函數:request();
系統類:
use think\Request;
$request = Request::instance();//因為request是單例模式 所以不克不及直接new
系統節制器類:
use think\Request;
public function index(Request $request){
dump($request);
}
2、獲取用戶請求信息
$request = Request::instance();
// 獲取當前域名
echo 'domain: ' . $request->domain() . '<br/>';
// 獲取當前進口文件
echo 'file: ' . $request->baseFile() . '<br/>';
// 獲取當前URL地址 不含域名
echo 'url: ' . $request->url() . '<br/>';
// 獲取包含域名的完整URL地址
echo 'url with domain: ' . $request->url(true) . '<br/>';
// 獲取當前URL地址 不含QUERY_STRING
echo 'url without query: ' . $request->baseUrl() . '<br/>';
// 獲取URL拜候的ROOT地址
echo 'root:' . $request->root() . '<br/>';
// 獲取URL拜候的ROOT地址
echo 'root with domain: ' . $request->root(true) . '<br/>';
// 獲取URL地址中的PATH_INFO信息
echo 'pathinfo: ' . $request->pathinfo() . '<br/>';
// 獲取URL地址中的PATH_INFO信息 不含后綴
echo 'pathinfo: ' . $request->path() . '<br/>';
// 獲取URL地址中的后綴信息
echo 'ext: ' . $request->ext() . '<br/>';
偽靜態:將路徑偽裝當作靜態頁面,讓搜刮引擎更好的收錄網站,防止別人知道網站真實開辟說話
3、獲取請求模塊/節制器/請求方式
模塊:$request->module();
方式:$request->action();
節制器:$request->controller();
4、獲取請求相關類型
請求類型:$request->method();
請求資本類型:$request->type();
拜候地址:$request->ip();
是否是ajax請求:$request->isAjax();
獲取請求參數:$request->param();
$request->only(['name','id']);//只獲取特心猿意馬字段
$request->except(['name','id']);//剔除取特心猿意馬字段
5、獲取變量
判定是否存在
$request->has('id','get');
input('?get.id');
讀取變量
$request->get('id');
input('get.id');
讀取所有 input('get.');
$request->get();
可讀取數據類型:get、post、put、session、cookie等
6、變量過濾
感化:防止惡意輸入,防止sql注入
利用:
全數數據過濾
$request->filter('htmlspecialchars');
$request->filter(['htmlspecialchars','strip_tags']);
針對變量過濾
$request->get('name','','htmlspecialchars');
過濾之后加密
$request->get('name','','htmlspecialchars,md5');
7、變量的解除和獲取
$request->only('name');
$request->except('name');
8、變量的潤色符
潤色符 感化
s 強制轉換為字符串類型
d 強制轉換為整型類型
b 強制轉換為布爾類型
a 強制轉換為數組類型
f 強制轉換為浮點類型
input('get.id/d');//強制轉換當作整型
input('get.name/s');//強制轉換當作字符串
9、變量的更改
地址欄拜候:http://www.tp5.net/index.php/index/index/index?id=10
$request->get(['id'=>9]
10、判定請求類型
// 是否為 GET 請求
if ($request->isGet()) echo "當前為 GET 請求";
// 是否為 POST 請求
if ($request->isPost()) echo "當前為 POST 請求";
// 是否為 PUT 請求
if ($request->isPut()) echo "當前為 PUT 請求";
// 是否為 DELETE 請求
if ($request->isDelete()) echo "當前為 DELETE 請求";
// 是否為 Ajax 請求
if ($request->isAjax()) echo "當前為 Ajax 請求";
// 是否為 Pjax 請求
if ($request->isPjax()) echo "當前為 Pjax 請求";
// 是否為手機拜候
if ($request->isMobile()) echo "當前為手機拜候";
// 是否為 HEAD 請求
if ($request->isHead()) echo "當前為 HEAD 請求";
// 是否為 Patch 請求
if ($request->isPatch()) echo "當前為 PATCH 請求";
// 是否為 OPTIONS 請求
if ($request->isOptions()) echo "當前為 OPTIONS 請求";
// 是否為 cli
if ($request->isCli()) echo "當前為 cli";
// 是否為 cgi
if ($request->isCgi()) echo "當前為 cgi";
request()->isGet();
11、模擬put、delete請求
利用:
<form action="" method="post" >
<input type="hidden" name ="_method" value="PUT">
</form>
注重:
表單的請求類型必需是post
需要設置埋沒域傳遞模擬請求類型
12、偽靜態
感化:知足更好的搜索引擎優化優化,為了網站的平安
點竄偽靜態:'url_html_suffix' => 'html'
獲取偽靜態后綴:$request->ext();
13、參數綁心猿意馬
利用:public function bingding($name){
echo $name;
}
注重:參數綁心猿意馬的個數少于地址欄參數的個數,
參數綁心猿意馬的名字必需和地址欄的參數名一致,
參數綁心猿意馬可以設置默認值
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!