Azalea\Response

Response 响应类

⚠️ Response 构造函数已私有,无法通过 new 方式实例化,仅通过 控制器getResponse 方法获得

// in controller-action
$response = $this->getResponse();
$response->gotoUrl('user/login');

Response::gotoUrl


页面路径重定向

void Response::gotoUrl ( string $url [, int httpCode = 302] )
  • 参数
    $url - 重定向的路径,如果是站内跳转,只需要传入目标 Uri (不需要 baseUri)
    $httpCode - 重定向的 HTTP 状态码,必须为 3xx,通常为 301302

  • 返回值

  • 范例

$response->gotoUrl('user/login');  // 跳转到站内 user/login
$response->gotoUrl('https://www.baidu.com');  // 跳转到站外

Response::reload


页面路径重定向到当前页面 (302 GET 请求)

void Response::reload ( void )
  • 参数

  • 返回值

  • 范例

$response->reload();  // 重新刷新当前页面

Response::gotoRoute


重新分发路由

bool Response::gotoRoute ( array $route ) throws E404Exception

该方法不会产生 HTTP 重定向

  • 参数
    $route - 路由数组,若无设置 folder 则使用当前控制器 folder;若无设置 controller 则使用当前控制器;若无设置 action 则使用默认控制器方法;arguments 默认为空数组

  • 返回值
    分发成功或失败

  • 异常
    抛出 E404Exception 异常

  • 范例

$response->gotoRoute([
    'action' => 'newaction',
    'arguments' => [1, 2, 3],
]);

Response::setCookie


设置 $_COOKIE

bool Response::setCookie ( string $key [, string $value = null [, int $expires = 0]] )
  • 参数
    $key cookie 键名
    $value cookie 值,默认为 null 则删除该 cookie
    $expires 有效期,默认为 0 表示浏览器会话,若 >0 则表示该 cookie 从当前时间后多少秒有效

  • 返回值
    设置成功或失败

  • 范例

$response->setCookie('foo', 'bar', 100);  // 设置 cookie "foo" 的值为 "bar",100 秒过期

Response::getBody


获取当前输出缓冲区的内容

string Response::getBody ( void )
  • 参数

  • 返回值
    内容字符串

  • 范例

$output = $response->getBody();

Response::setBody


设置输出缓冲区的内容

bool Response::setBody ( string $body )
  • 参数
    $body - 新的输出内容

  • 返回值
    设置成功或失败

  • 范例

$output = strtr($response->getBody(), ['foo' => 'bar']);  // 把原 $body 内容中 "foo" 替换成 "bar"
$response->setBody($output);

你可能感兴趣的:(Azalea\Response)