PHP:ThinkPHP5.0请求对象和响应对象

举报
彭世瑜 发表于 2021/08/13 23:14:57 2021/08/13
【摘要】 1、Request请求对象 (1)获取Request 获取方式一:助手函数 $request = request(); 1 获取方式二:获取实例(单例模式)) use think\Request; $request = Request::instance(); 1234 获取方式三:注入到方法(推荐) use think\Request; publi...

1、Request请求对象

(1)获取Request

获取方式一:助手函数

$request = request();

  
 
  • 1

获取方式二:获取实例(单例模式))

use think\Request;

$request = Request::instance();


  
 
  • 1
  • 2
  • 3
  • 4

获取方式三:注入到方法(推荐)

use think\Request;

public function requestInfo(Request $request) { $request; }


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

(2)Request方法

请求路径

GET http://127.0.0.1:8009/index/index/requestinfo/type/5.html?id=001


  
 
  • 1
  • 2
函数 说明 结果
domain() 域名 http://127.0.0.1:8009
pathinfo() 路径带后缀 index/index/requestinfo/type/5.html
path() 路径不带后缀 index/index/requestinfo/type/5
method() 请求类型 GET
isGet() 是否为GET请求 true
isPost() 是否为POST请求 false
isAjax() 是否为ajax请求 false
get() 查询参数 Array([“id”] => “001”)
get(“id”) 查询参数 “001”
param() 所有参数包括post Array([“id”] => “001” [“type”] => “5”)
param(‘type’) 单个参数 “5”
post() POST参数 Array()
session(‘name’, ‘jack’) 设置session -
session() 获取session Array([“name”] => “jack”)
cookie(‘key’, ‘value’) 设置cookie -
cookie() 获取cookie Array([“PHPSESSID”] => “734672fc1386d54105273362df904750” [“key”] => “value”)
module() 模块 index
controller() 控制器 Index
action() 操作 requestinfo
url() url带查询字符串 /index/index/requestinfo/type/5.html?id=001
baseUrl() 不带查询字符串 /index/index/requestinfo/type/5.html

(3)助手函数input

input('get.id')

// 相当于
$request->get('id')

// $request->参数类型(key名,key值,函数名);
$request->get('key','value','intval');


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2、响应对象Response

方式一:通过配置文件修改响应格式(整个模块生效 )
conf/api/config.php

return [ 'default_return_type'=>'json'
];


  
 
  • 1
  • 2
  • 3
  • 4

方式二:动态修改返回类型

<?php

namespace app\api\controller;
use  think\Config;

class Index
{ public function getUserInfo($type='json') { if(!in_array($type, ['json', 'jsonp', 'xml'])) { $type = 'json'; } Config::set('default_return_type', $type); $data = [ 'code' => 200, 'list' => [ 'name'=> 'Tom', 'age'=>23 ] ]; return $data; }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

访问:
http://127.0.0.1:8009/api/index/getuserinfo?type=json

返回

{ code: 200, list: { name: "Tom", age: 23 }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/88587125

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。