如果要获取当前的请求信息,可以使用\PKCore\Request类,
## 获取URL信息
**获取当前域名**
~~~
echo 'domain: ' . Request::domain();
~~~
**获取当前入口文件**
~~~
echo 'file: ' . Request::baseFile();
~~~
**获取当前URL地址 不含域名**
~~~
echo 'url: ' . Request::url() . '<br/>';
~~~
**获取包含域名的完整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();
~~~
如果当前访问的地址是:
> http://domain/index.php/index/hello_world/index
输出结果为:
~~~
当前模块名称是index
当前控制器名称是HelloWorld
当前操作名称是index
~~~
设置模块名称值需要向module方法中传入名称即可,同样使用于设置控制器名称和操作名称
~~~
Request::module('module_name');
~~~
* * * * *
## 获取请求参数
~~~
echo '请求方法:' . Request::method() . '<br/>';
echo '资源类型:' . Request::type() . '<br/>';
echo '访问ip地址:' . Request::ip() . '<br/>';
echo '是否AJax请求:' . var_export(Request::isAjax(), true) . '<br/>';
echo '请求参数:';
dump(Request::param());
~~~
输出结果为:
~~~
请求方法:GET
资源类型:html
访问ip地址:127.0.0.1
是否Ajax请求:false
请求参数:
array (size=2)
'test' => string 'ddd' (length=3)
'name' => string 'thinkphp' (length=8)
~~~
* * * * *
## 获取路由和调度信息
~~~
echo '路由信息:';
dump(Request::route());
echo '调度信息:';
dump(Request::dispatch());
~~~