1.引入類 ?use think\Request;
// 1. 系統(tǒng)建議的request方式
public functionrequestTest($name,Request$request){// 系統(tǒng)自動注入request對象 不需要通過url傳入
echo"name : ".$name."
";
echo"請求的url : ".$request->url()."
";
var_dump($request->param());
// 使用系統(tǒng)提供的助手 直接創(chuàng)建request對象調(diào)用該對象方法
echorequest()->url();
}
// 2. 動態(tài)綁定屬性
// 可以給request請求對象綁定屬性 ,方便全局調(diào)用, 例如我們可以在公共控制器中綁定當前登錄的用戶的模型到請求對象
// 3. 獲取請求變量
// 系統(tǒng)推薦使用param方法統(tǒng)一獲取當前請求變量,該方法最大的優(yōu)勢是讓你不需要區(qū)分當前請求類型而使用不同的全局變量或者方法,并且可以滿足大部分的參數(shù)需求.
public functionrequestParam(Request$request,$name,$sex){
// 使用param 獲取請求參數(shù)? 返回值:數(shù)組
$paramArr=$request->param();
echo"name:參數(shù):".$paramArr["name"]."
";
echo"sex :參數(shù):".$paramArr["sex"]."
";
dump($request->param());
echo"
";
// 系統(tǒng)提供了一個input助手函數(shù)來簡化Request對象的param方法,用法如下:
// param方法獲取的參數(shù)會自動判斷當前的請求异希,以POST請求為例的話鹃骂,參數(shù)的優(yōu)先級別為:路由變量 > 當前請求變量($_POST變量) > $_GET變量
// 這里的路由變量指的是路由規(guī)則里面定義的變量或者PATH_INFO地址中的變量台盯。路由變量無法使用get方法或者$_GET變量獲取。
dump(input());
echo"name : ".input()["name"]."";
echo"sex? : ".input()["sex"]."
";
// 除了Param方法之外畏线,Request對象也可以用于獲取其它的輸入?yún)?shù),例如:
echo"GET參數(shù):"."
";
dump($request->get());
echo"POST參數(shù):"."
";
dump($request->post());
// 獲取請求方法
echo$request->method()."
";
// 獲取請求資源類型
echo$request->type()."
";
// 獲取訪問ip
echo$request->ip()."
";
// 是否ajax請求
echovar_export($request->isAjax(),true)."
";
// 請求包含name
dump($request->only(['name']));
echo"
";
// 排除name
dump($request->except(['name']));
echo"
";
// 獲取url信息
// 獲取當前域名
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().'
';
// 獲取當前模塊/控制器/操作方法信息
echo'模塊:'.$request->module();
echo"
控制器:".$request->controller();
echo"
操作:".$request->action();
}