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

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

1、Request请求对象

(1)获取Request

获取方式一:助手函数

$request = request();

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

use think\Request;
$request = Request::instance();

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

use think\Request;
public function requestInfo(Request $request)
    {
        $request;
    }

(2)Request方法

请求路径

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

函数

说明

结果

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');

2、响应对象Response

方式一:通过配置文件修改响应格式(整个模块生效 )

conf/api/config.php

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

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

<?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;
    }
}

访问:

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

返回

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


相关文章
|
PHP
TP5.1命令行创建controller修改创建模板(php think make:controller app\admin\controller\Login)
TP5.1命令行创建controller修改创建模板(php think make:controller app\admin\controller\Login)
444 0
TP5.1命令行创建controller修改创建模板(php think make:controller app\admin\controller\Login)
|
PHP
TP5.1自定义创建命令(php think make:controller app\index\User)
TP5.1自定义创建命令(php think make:controller app\index\User)
192 0
TP5.1自定义创建命令(php think make:controller app\index\User)
|
3月前
|
关系型数据库 MySQL PHP
PHP和Mysql前后端交互效果实现
本文介绍了使用PHP连接MySQL数据库的基本函数及其实现案例。内容涵盖数据库连接、选择数据库、执行查询、获取结果等常用操作,并通过用户登录和修改密码的功能实例,展示了PHP与MySQL的交互过程及代码实现。
278 0
PHP和Mysql前后端交互效果实现
|
8月前
|
关系型数据库 MySQL Linux
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
398 17
|
前端开发 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
【10月更文挑战第21天】 本文将深入浅出地探讨如何使用PHP与MySQL构建一个动态网站,从环境搭建到项目部署,全程实战演示。无论你是编程新手还是希望巩固Web开发技能的老手,都能在这篇文章中找到实用的技巧和启发。我们将一起探索如何通过PHP处理用户请求,利用MySQL存储数据,并最终呈现动态内容给用户,打造属于自己的在线平台。 ####
530 0
|
9月前
|
关系型数据库 MySQL PHP
源码编译安装LAMP(HTTP服务,MYSQL ,PHP,以及bbs论坛)
通过以上步骤,你可以成功地在一台Linux服务器上从源码编译并安装LAMP环境,并配置一个BBS论坛(Discuz!)。这些步骤涵盖了从安装依赖、下载源代码、配置编译到安装完成的所有细节。每个命令的解释确保了过程的透明度,使即使是非专业人士也能够理解整个流程。
249 18
|
10月前
|
关系型数据库 MySQL 网络安全
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
395 25
|
12月前
|
SQL 关系型数据库 MySQL
PHP与MySQL的高效交互:从基础到实践####
本文深入探讨了PHP与MySQL数据库之间的高效交互技术,涵盖了从基础连接到高级查询优化的全过程。不同于传统的摘要概述,这里我们直接以一段精简代码示例作为引子,展示如何在PHP中实现与MySQL的快速连接与简单查询,随后文章将围绕这一核心,逐步展开详细讲解,旨在为读者提供一个从入门到精通的实战指南。 ```php <?php // 数据库配置信息 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test_db"; // 创建连接 $conn = new mysqli($se
314 31
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
深入探索PHP与MySQL的协同工作机制,本文旨在通过一系列实战案例,揭示构建高效、稳定且用户友好的动态网站的秘诀。从环境搭建到数据交互,再到最佳实践分享,本文为开发者提供了一条清晰的学习路径,助力其在LAMP(Linux, Apache, MySQL, PHP/Perl/Python)栈上实现技术飞跃。 ####