控制器

控制器正式处理业务逻辑的开始。权限验证、数据加解密等和业务逻辑无关的逻辑大部分可以由中间件来处理。[TOC]

http控制器

http控制器需要继承\One\Http\Controller

Request 客户端请求的信息

获取 Request 对象

  1. $this->request

Request 包含以下方法

  1. // get信息
  2. public function get($key = null, $default = null)
  3. // post信息
  4. public function post($key = null, $default = null)
  5. // 终端下的 $argv信息
  6. public function arg($i = null, $default = null)
  7. // response 信息 = get + post
  8. public function res($key = null, $default = null)
  9. // cookie信息
  10. public function cookie($key = null, $default = null)
  11. // 请求的原生信息 php://input
  12. public function input()
  13. // 返回json信息
  14. public function json()
  15. // 返回上传的文件信息
  16. public function file()
  17. // 返回请求的方法
  18. public function method()
  19. // 是否是json格式
  20. public function isJson()
  21. public function ip()
  22. public function server($name = null, $default = null)
  23. public function userAgent()
  24. public function uri()
  25. // request id
  26. public function id()

如下属性

  1. // 连接表示 在swoole下可用
  2. public $fd = 0;
  3. // url地址栏参数
  4. public $args = [];
  5. // 执行的calss
  6. public $class = '';
  7. // 执行的方法名称
  8. public $method = '';

Response 相应信息给客户端的对象

通过 Response 可获取 Reuest 对象

  1. $this->response->getHttpRequest() === $this->request

其他常用方法

  1. // 设置头部信息
  2. $this->response->header();
  3. // 设置cookies 参数方法 同 setcookie 一直
  4. $this->response->cookie();
  5. // session 对象
  6. $this->response->session() === $this->session()
  7. // 直接输出信息 推荐直接在控制器 return 信息;
  8. $this->response->write('hello');

session 对象

  1. // 设置
  2. $this->session()->set('a',123);
  3. // 获取
  4. $this->session()->get('a');
  5. // 删除
  6. $this->session()->del('a');
  7. // 获取所有的
  8. $this->session()->get();
  9. // 获取session id
  10. $this->session()->getId();

websocket 控制器

tcp 控制器