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);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容