thinkphp5-请求
2021/10/30 17:16:04
本文主要是介绍thinkphp5-请求,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
实例化请求对象
$request = Request::instance();
$request = request();
获取请求信息
$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/>';
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()); echo '请求参数:仅包含name'; dump($request->only(['name'])); echo '请求参数:排除name'; dump($request->except(['name']));
获取变量
param变量
Request::instance()->param('name');
input('param.name');
get变量
Request::instance()->get('name');
input('get.name');
post变量
Request::instance()->post('name');
input('post.name');
server变量
Request::instance()->server('PHP_SELF');
input('server.PHP_SELF');
session变量
Request::instance()->session('user_id')
input('session.user_id');
cookie变量
Request::instance()->cookie('user_id');
input('cookie.user_id');
请求类型判断
// 是否为 GET 请求 if (Request::instance()->isGet()) echo "当前为 GET 请求"; // 是否为 POST 请求 if (Request::instance()->isPost()) echo "当前为 POST 请求"; // 是否为 PUT 请求 if (Request::instance()->isPut()) echo "当前为 PUT 请求"; // 是否为 DELETE 请求 if (Request::instance()->isDelete()) echo "当前为 DELETE 请求"; // 是否为 Ajax 请求 if (Request::instance()->isAjax()) echo "当前为 Ajax 请求"; // 是否为 Pjax 请求 if (Request::instance()->isPjax()) echo "当前为 Pjax 请求"; // 是否为手机访问 if (Request::instance()->isMobile()) echo "当前为手机访问"; // 是否为 HEAD 请求 if (Request::instance()->isHead()) echo "当前为 HEAD 请求"; // 是否为 Patch 请求 if (Request::instance()->isPatch()) echo "当前为 PATCH 请求"; // 是否为 OPTIONS 请求 if (Request::instance()->isOptions()) echo "当前为 OPTIONS 请求"; // 是否为 cli if (Request::instance()->isCli()) echo "当前为 cli"; // 是否为 cgi if (Request::instance()->isCgi()) echo "当前为 cgi";
依赖注入
namespace app\index\controller; use think\Request; class Index { protected $request; public function __construct(Request $request) { $this->request = $request; } public function hello() { return $this->request->param('name'); } }
请求缓存
Request::instance()->cache('__URL__',60);
这篇关于thinkphp5-请求的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-19php8的协程和hyperf的协程有什么区别?-icode9专业技术文章分享
- 2024-12-19php8 的fiber是什么?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-12-05怎么在php8,1 里面开启 debug?-icode9专业技术文章分享
- 2024-11-29使用PHP 将ETH账户的资产汇集到一个账户
- 2024-11-23怎么实现安卓+php 热更新方案?-icode9专业技术文章分享
- 2024-11-22PHP 中怎么实现判断多个值是否为空、null 或者为 false?-icode9专业技术文章分享
- 2024-11-11开源 PHP 商城项目 CRMEB 二次开发和部署教程
- 2024-11-09怎么使用php在kaufland平台刊登商品?-icode9专业技术文章分享
- 2024-11-05PHP的抽象类和接口是什么,有什么区别-icode9专业技术文章分享