request组件 :
    request 有三个部分
    mesasge 文件夹里面的 request 和serverrequest(serverrequest继承自request)http里面的 request

    1.message里面的request:

    1. 函数
    2. __construct():构造函数
    3. getRequestTarget():获得请求的路径
    4. getMethod():获得请求方法
    5. getUri():获得请求的url
    6. withRequestTarget():设置请求路径
    7. withMethod():设置请求方法
    8. withUri():设置请求的url
    9. 这里面的url是封装的类,利用pares_url()函数

    2.serverrequest类继承自上面的request类

    1. 变量:
    2. $attribute 用于存取一些额外的信息,可以在控制器中往这个变量里面放信息,注意变量不能多进程共享
    3. 私有$cooikeParams 用于存放cookie数组,
    4. 私有$parseBody 用于存放post数据
    5. 私有$queryParams 用于存放get参数数组
    6. 私有$serverParams 用于存放服务器参数数组
    7. 私有$uploadFiles 用于存放上传文件的数组
    8. 函数:
    9. 构造函数和 一系列获得变量和设置变量的参数

    3.http下的request类继承自上面的serverrequest类
    此类用了单例模式所以每次请求只会初始化一次

    1. 函数:
    2. __construct():在此函数传入了swoole扩展的request的对象,将request对象存入类变量
    3. 依次执行
    4. initheaeder() 通过swoolerequest对象的header遍历,调用父类的withAddHeader()函数增加继承下来的header字段
    5. initFiles() 通过swoolerequest对象 files属性 遍历,初始化自己的封装的file ,存到 file字段
    6. initCookie() swoolerequest对象的cookie赋值出来
    7. initPost() swoolerequest对象的post赋值出来
    8. initGet() swoolerequest对象的get赋值出来
    9. 公有函数:
    10. getRequestParam()获得请求参数
    11. RequestParamValidate()验证参数合法性
    12. getSwooleRequest()获得request实例
    13. session()获得session实例

    总结:
    框架运行的时候,会初始化一个http/request类,该类在一次请求时只会调用一次,初始化过程中会把swoole的request的参数全部提取出来复制到类中,便于统一操作;

    response组建
    response有两个类
    http的response类继承于message的response
    1.message的response

    1. 变量:
    2. $statusCode 状态码
    3. $responsePhare ok
    4. $cookies 存储cookie数组
    5. 函数:
    6. getstatuscode() 获取状态码
    7. getresponsePhare()
    8. witgAddCookies()增加数组
    9. getCookies()获取数组

    2.http的response

    此类使用单例模式,用户每次请求只会实例化一次
    在构造函数的时候,会将swoole的response的对象复制过来

    1. 函数:
    2. end() 将标志位设为1,意味着write结束了
    3. isendresponse() 判断是否结束
    4. write()向body写入数据,body的数据是拿来返回用的,body变量继承自 message
    5. writejson()同理写入json数据
    6. redirect() header头写入跳转的url
    7. setcookie() 设置cookie
    8. forward()
    9. session()
    10. getswooleresponse()获得swoole原生的response

    整体梳理:
    在用户的请求事件,框架会调用swoole的response对象和request对象,
    通过两个对象实例化出一个response类和request类
    两个类分别封装类请求和返回各种方法