获取请求参数的几种方法
通过继承think\Controller
基类,在控制器中直接使用$this->request
namespace app\ index\ controller ;
use think\ Controller ;
class Index extends Controller
{
public function index ( )
{
$params = $this - > request - > param ( ) ;
return json ( $params ) ;
}
}
namespace app\ index\ controller ;
use think\ Request ;
class Index
{
protected $request ;
public function __construct ( Request $request )
{
$this - > request = $request ;
}
public function index ( )
{
$params = $this - > request - > param ( ) ;
return json ( $params ) ;
}
}
namespace app\ index\ controller ;
use think\ Request ;
class Index
{
public function index ( Request $request )
{
$params = $request - > param ( ) ;
return json ( $params ) ;
}
}
namespace app\ index\ controller ;
use think\ Request ;
class Index
{
public function index ( )
{
$request = Request: : instance ( ) ;
$params = $request - > param ( ) ;
return json ( $params ) ;
}
}
获取请求信息
方法 作用 domain 获取当前域名 baseFile 获取当前入口文件 url 获取当前URL地址 不含域名 url(true) 获取包含域名的完整URL地址 baseUrl 获取当前URL地址 不含QUERY_STRING root 获取URL访问的ROOT地址 root(true) 获取URL访问的ROOT地址 pathinfo 获取URL地址中的PATH_INFO信息 path 获取URL地址中的PATH_INFO信息,不含后缀 ext 获取URL地址中的后缀信息
方法 作用 model() 模块 controller() 控制器 action() 操作方法
变量类型方法(‘变量名/变量修饰符’,‘默认值’,‘过滤方法’)
方法 描述 param 获取当前请求的变量 get 获取 $_GET 变量 post 获取 $_POST 变量 put 获取 PUT 变量 delete 获取 DELETE 变量 session 获取 $_SESSION 变量 cookie 获取 $_COOKIE 变量 request 获取 $_REQUEST 变量 server 获取 $_SERVER 变量 env 获取 $_ENV 变量 route 获取 路由(包括PATHINFO) 变量 file 获取 $_FILES 变量
if ( Request: : instance ( ) - > isGet ( ) ) echo "当前为 GET 请求" ;
if ( Request: : instance ( ) - > isPost ( ) ) echo "当前为 POST 请求" ;
if ( Request: : instance ( ) - > isPut ( ) ) echo "当前为 PUT 请求" ;
if ( Request: : instance ( ) - > isDelete ( ) ) echo "当前为 DELETE 请求" ;
if ( Request: : instance ( ) - > isAjax ( ) ) echo "当前为 Ajax 请求" ;
if ( Request: : instance ( ) - > isPjax ( ) ) echo "当前为 Pjax 请求" ;
if ( Request: : instance ( ) - > isMobile ( ) ) echo "当前为手机访问" ;
if ( Request: : instance ( ) - > isHead ( ) ) echo "当前为 HEAD 请求" ;
if ( Request: : instance ( ) - > isPatch ( ) ) echo "当前为 PATCH 请求" ;
if ( Request: : instance ( ) - > isOptions ( ) ) echo "当前为 OPTIONS 请求" ;
if ( Request: : instance ( ) - > isCli ( ) ) echo "当前为 cli" ;
if ( Request: : instance ( ) - > isCgi ( ) ) echo "当前为 cgi" ;
获取请求头信息
获取全部头信息Request::instance()->header()
获取单个头信息Request::instance()->header('user-agent')
注意:HTTP请求头信息的名称不区分大小写,并且_会自动转换为-,所以下面的写法都是等效的:
$agent = Request: : instance ( ) - > header ( 'user-agent' ) ;
$agent = Request: : instance ( ) - > header ( 'User-Agent' ) ;
$agent = Request: : instance ( ) - > header ( 'USER_AGENT' ) ;