请求对象由 think\Request 负责 只需要依赖注入即可

请求对象

构造方法注入即可

 public function __construct(Request $request){$this->request = $request;}

请求信息

<?phpnamespace app\index\controller;use think\exception\ValidateException;
use think\facade\Request;
class Index extends BaseController
{/*** 显示资源列表** @return \think\Response*/public function index(Request $request){return Request::url();}/*** 显示创建资源表单页.** @return \think\Response*/public function create(){//}/*** 保存新建的资源** @param  \think\Request  $request* @return \think\Response*/public function save(Request $request){//}/*** 显示指定的资源** @param  int  $id* @return \think\Response*/public function read($id){//}/*** 显示编辑资源表单页.** @param  int  $id* @return \think\Response*/public function edit($id){//}/*** 保存更新的资源** @param  \think\Request  $request* @param  int  $id* @return \think\Response*/public function update(Request $request, $id){//}/*** 删除指定资源** @param  int  $id* @return \think\Response*/public function delete($id){//}public function __call($name, $arguments){// TODO: Implement __call() method.return 'error request';}
}

输入网址 http://localhost:8082/ 返回斜杠

输入变量

需要引入

use think\facade\Request;

在中间件里设置变量,然后使用has进行检测。
或者可以输入参数的方式获取变量

路由设置

<?phpuse think\facade\Route;Route::rule('ming/:name', 'index/index');

控制器设置

<?phpnamespace app\index\controller;use think\exception\ValidateException;
use think\facade\Request;
class Index extends BaseController
{/*** 显示资源列表** @return \think\Response*/public function index($name){return Request::param('name');}/*** 显示创建资源表单页.** @return \think\Response*/public function create(){//}/*** 保存新建的资源** @param  \think\Request  $request* @return \think\Response*/public function save(Request $request){//}/*** 显示指定的资源** @param  int  $id* @return \think\Response*/public function read($id){//}/*** 显示编辑资源表单页.** @param  int  $id* @return \think\Response*/public function edit($id){//}/*** 保存更新的资源** @param  \think\Request  $request* @param  int  $id* @return \think\Response*/public function update(Request $request, $id){//}/*** 删除指定资源** @param  int  $id* @return \think\Response*/public function delete($id){//}public function __call($name, $arguments){// TODO: Implement __call() method.return 'error request';}
}

访问 url http://localhost:8082/index/ming/45
此时页面输出 45
当请求为?的时候,使用get获取

同样可以使用助手函数获取

请求类型

添加 _method 进行伪装

头信息

<?phpnamespace app\index\controller;use think\exception\ValidateException;
use think\facade\Request;
class Index extends BaseController
{/*** 显示资源列表** @return \think\Response*/public function index($name){return Request::header('user-agent');}/*** 显示创建资源表单页.** @return \think\Response*/public function create(){//}/*** 保存新建的资源** @param  \think\Request  $request* @return \think\Response*/public function save(Request $request){//}/*** 显示指定的资源** @param  int  $id* @return \think\Response*/public function read($id){//}/*** 显示编辑资源表单页.** @param  int  $id* @return \think\Response*/public function edit($id){//}/*** 保存更新的资源** @param  \think\Request  $request* @param  int  $id* @return \think\Response*/public function update(Request $request, $id){//}/*** 删除指定资源** @param  int  $id* @return \think\Response*/public function delete($id){//}public function __call($name, $arguments){// TODO: Implement __call() method.return 'error request';}
}

输入 http://localhost:8082/index/ming/name
返回当前的头信息

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) snap Chromium/74.0.3729.169 Chrome/74.0.3729.169 Safari/537.36

伪静态

配置文件修改伪静态。。

服务器需要支持.htass文件

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------// +----------------------------------------------------------------------
// | 应用设置
// +----------------------------------------------------------------------return [// PATHINFO变量名 用于兼容模式'var_pathinfo'          => 's',// 兼容PATH_INFO获取'pathinfo_fetch'        => ['ORIG_PATH_INFO', 'REDIRECT_PATH_INFO', 'REDIRECT_URL'],// pathinfo分隔符'pathinfo_depr'         => '/',// HTTPS代理标识'https_agent_name'      => '',// URL伪静态后缀'url_html_suffix'       => 'html',// URL普通方式参数 用于自动生成'url_common_param'      => true,// 是否开启路由延迟解析'url_lazy_route'        => false,// 是否强制使用路由'url_route_must'        => false,// 合并路由规则'route_rule_merge'      => false,// 路由是否完全匹配'route_complete_match'  => false,// 使用注解路由'route_annotation'      => false,// 是否开启路由缓存'route_check_cache'     => false,// 路由缓存连接参数'route_cache_option'    => [],// 路由缓存Key'route_check_cache_key' => '',// 访问控制器层名称'controller_layer'      => 'controller',// 空控制器名'empty_controller'      => 'Error',// 是否使用控制器后缀'controller_suffix'     => false,// 默认的路由变量规则'default_route_pattern' => '[\w\.]+',// 域名根,如thinkphp.cn'url_domain_root'       => '',// 是否自动转换URL中的控制器和操作名'url_convert'           => true,// 表单请求类型伪装变量'var_method'            => '_method',// 表单ajax伪装变量'var_ajax'              => '_ajax',// 表单pjax伪装变量'var_pjax'              => '_pjax',// 是否开启请求缓存 true自动缓存 支持设置请求缓存规则'request_cache'         => false,// 请求缓存有效期'request_cache_expire'  => null,// 全局请求缓存排除规则'request_cache_except'  => [],// 默认控制器名'default_controller'    => 'Index',// 默认操作名'default_action'        => 'index',// 操作方法后缀'action_suffix'         => '',// 默认JSONP格式返回的处理方法'default_jsonp_handler' => 'jsonpReturn',// 默认JSONP处理方法'var_jsonp_handler'     => 'callback',
];

连接如下

http://localhost:8082/index.php/index/ming/name.html

此时访问的等价于

http://localhost:8082/index.php/index/ming/name

参数绑定

这个连接

http://localhost:8082/index/ming/year/34/month/34

定义路由

<?phpuse think\facade\Route;Route::rule('ming/year/:year/month/<month>', 'index/index');

其中month为可选

控制器如下

<?phpnamespace app\index\controller;use think\exception\ValidateException;
use think\facade\Request;
class Index extends BaseController
{/*** 显示资源列表** @return \think\Response*/public function index($year, $month = '01'){return $year . $month;}/*** 显示创建资源表单页.** @return \think\Response*/public function create(){//}/*** 保存新建的资源** @param  \think\Request  $request* @return \think\Response*/public function save(Request $request){//}/*** 显示指定的资源** @param  int  $id* @return \think\Response*/public function read($id){//}/*** 显示编辑资源表单页.** @param  int  $id* @return \think\Response*/public function edit($id){//}/*** 保存更新的资源** @param  \think\Request  $request* @param  int  $id* @return \think\Response*/public function update(Request $request, $id){//}/*** 删除指定资源** @param  int  $id* @return \think\Response*/public function delete($id){//}public function __call($name, $arguments){// TODO: Implement __call() method.return 'error request';}
}

此时输入

http://localhost:8082/index/ming/year/34/month/34

返回
3434

请求缓存

将会对请求进行缓存

thinkphp 请求相关推荐

  1. 功能测试与抓包工具Fiddler(http与fiddler)

    文章目录 功能测试与数据库 项目与数据库的关系 功能测试与抓包工具 HTML与HTTP 协议 URL HTML HTTP HTTP请求与响应 基本概念 HTTP请求 HTTP响应 抓包工具 Fiddl ...

  2. ThinkPHP--基础

    主要特性 引入容器和Facade支持 依赖注入完善和支持更多场景 重构的(对象化)路由 支持注解路由 跨域请求支持 配置和路由目录独立 取消系统常量 助手函数增强 类库别名机制 模型和数据库增强 验证 ...

  3. thinkphp ajax请求报500错误

    在控制器中获取ajax请求的数据时报500错误,查了下,是服务器内部原因,用了几个小时在找到底是为什么,苦无果!!!. 后来看到网上说肯定是因为服务器端php代码语法有问题,悲催的我终于开始从语法找问 ...

  4. thinkphp如何通过php请求接口,thinkphp怎么做json数据接口

    function checkUser(){ //获取用户名 密码 $uname=$_GET['uname'];        $upass=$_GET['upass'];        $user=M ...

  5. php 发送post请求json,thinkphp ,php post发送json请求,就收post请求

    发送方的代码如下 namespace Api\Controller; use Think\Controller; class IndexController extends Controller { ...

  6. thinkphp ajax 跨域请求 Access-Control-Allow-Origin 完美解决

    在前后端分离的开发中,前端经常遇到请求接口跨域的问题 遇到这种问题,解决方法有两种: 方法一.用jsonp的格式返回数据给前端,而不是json,这个方法治标不治本,需要注意的是,使用jsonp的时候, ...

  7. Thinkphp 6.0请求对象和信息

    本节课我们来学习一下数据请求的两个功能:请求对象和请求信息. 一.请求对象 1. 使用构造方法注入请求,如下: namespace app\controller; use think\Request; ...

  8. thinkphp fastadmin 解决vue前后端分离项目的跨域问题 以及 OPTIONS请求类型

    fastadmin的专用方法: 修改文件:application/config.php,这是fa的配置文件. 修改属性 cors_request_domain,搜一下就找到了,在里面加上你的域名就行了 ...

  9. php thinkphp curl 模拟post,put,delete,get 请求

    function curl($url,$method,$params,$auth){     //初始化CURL句柄         $curl = curl_init(); curl_setopt( ...

最新文章

  1. 二值网络--Training Binary Weight Networks via Semi-Binary Decomposition
  2. WebSocket——[Error during WebSocket handshake: Unexpected response code: 200]解决方案
  3. 【Java从0到架构师】Spring - 整合 MyBatis
  4. java 小数精度问题
  5. matlab2c使用c++实现matlab函数系列教程-asin函数
  6. mysql 禁用swap_MySQL如何避免使用swap
  7. Android SQLite数据库 SQLiteOpenHelper的操作使用
  8. libcmtd.lib(wincrt0.obj) : error LNK2019: 无法解析的外部符号 WinMain,该符号在函数 __tmainCRTStartup 中被引用
  9. 如何计算电机极数和无刷电机的Kv值?
  10. 1fichier.com-1TB免费FTP空间的使用
  11. ie浏览器开发比谷歌浏览器_跨浏览器开发:处理IE
  12. python twisted教程_twisted基础教程.pdf
  13. 【markdown】表格合并单元格
  14. 计算机操作员初级试题及答案,计算机操作员初级考试试题
  15. 【ProVerif学习笔记】6:握手协议(handshake protocol)建模
  16. 利用webSocket实现扫码登录PC端
  17. 封闭式基金折价排行表20060929(ZT)
  18. 脉冲星 1 月脉动 | Pulsar 2.5.0 和 Pulsarctl 0.3.0 发布,多项活动期待您的参与
  19. 利用layer-list来制作阴影效果背景
  20. 榕桥碑记(杨森翔撰)

热门文章

  1. Chapter 3 Phenomenon——13
  2. 图像处理之基础---很好的一个开源文档库
  3. mysql A库a表 B库b表 将a表导入b表中
  4. VMware vCloud与Zend Server实现PHP应用程序自动化交付
  5. Linux下使用Iptraf进行网络流量的分析
  6. 艾伟_转载:趣味问题:你能用Reflection.Emit生成这段代码吗?(答案)
  7. 我认为的android入门学习策略
  8. JavaWeb前台异常处理
  9. Oracle Dba手记(读书笔记)
  10. python实现字母的加密和解密 字典_python实现AES加密与解密