本文整理汇总了PHP中Zend_Controller_Response_Http::canSendHeaders方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Controller_Response_Http::canSendHeaders方法的具体用法?PHP Zend_Controller_Response_Http::canSendHeaders怎么用?PHP Zend_Controller_Response_Http::canSendHeaders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Controller_Response_Http
的用法示例。
在下文中一共展示了Zend_Controller_Response_Http::canSendHeaders方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: redirect
/**
* Performs a HTTP redirection to specified URL with additional data.
* It may generate redirected request using GET or POST HTTP method.
* The function never returns.
*
* @param string $url URL to redirect to
* @param array $params additional variable/value pairs to send
* @param Zend_Controller_Response_Abstract $response
* @param string $method redirection method ('GET' or 'POST')
*/
public static function redirect($url, $params = null, Zend_Controller_Response_Abstract $response = null, $method = 'GET')
{
$url = Zend_OpenId::absoluteUrl($url);
$body = "";
if (null === $response) {
#require_once "Zend/Controller/Response/Http.php";
$response = new Zend_Controller_Response_Http();
}
if ($method == 'POST') {
$body = "<html><body onLoad=\"document.forms[0].submit();\">\n";
$body .= "<form method=\"POST\" action=\"{$url}\">\n";
if (is_array($params) && count($params) > 0) {
foreach ($params as $key => $value) {
$body .= '<input type="hidden" name="' . $key . '" value="' . $value . "\">\n";
}
}
$body .= "<input type=\"submit\" value=\"Continue OpenID transaction\">\n";
$body .= "</form></body></html>\n";
} else {
if (is_array($params) && count($params) > 0) {
if (strpos($url, '?') === false) {
$url .= '?' . self::paramsToQuery($params);
} else {
$url .= '&' . self::paramsToQuery($params);
}
}
}
if (!empty($body)) {
$response->setBody($body);
} else {
if (!$response->canSendHeaders()) {
$response->setBody("<script language=\"JavaScript\"" . " type=\"text/javascript\">window.location='{$url}';" . "</script>");
} else {
$response->setRedirect($url);
}
}
$response->sendResponse();
if (self::$exitOnRedirect) {
exit;
}
}
示例2: _sendResponse
protected function _sendResponse($httpCode, $code, $message)
{
// TODO Why is sometimes sending response twice??? :S
if (self::$responseSent) {
return;
}
if (!($response = Zend_Controller_Front::getInstance()->getResponse())) {
$response = new Zend_Controller_Response_Http();
}
$response->setHttpResponseCode($httpCode);
if (!$response->getBody()) {
$body = array('code' => $code, 'message' => $message);
$response->setBody(Zend_Json::encode($body));
}
if ($response->canSendHeaders()) {
$response->clearHeaders();
$response->setHeader('Content-Type', 'application/json');
$response->sendResponse();
self::$responseSent = true;
}
exit;
}