Source of file Response.php
Size: 2,791 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Http/PhpEnvironment/Response.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Http\PhpEnvironment; use Zend\Http\Header\MultipleHeaderInterface; use Zend\Http\Response as HttpResponse; /** * HTTP Response for current PHP environment */ class Response extends HttpResponse { /** * The current used version * (The value will be detected on getVersion) * * @var null|string */ protected $version; /** * @var bool */ protected $contentSent = false; /** * Return the HTTP version for this response * * @return string * @see \Zend\Http\AbstractMessage::getVersion() */ public function getVersion() { if (!$this->version) { $this->version = $this->detectVersion(); } return $this->version; } /** * Detect the current used protocol version. * If detection failed it falls back to version 1.0. * * @return string */ protected function detectVersion() { if (isset($_SERVER['SERVER_PROTOCOL']) && $_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.1') { return self::VERSION_11; } return self::VERSION_10; } /** * @return bool */ public function headersSent() { return headers_sent(); } /** * @return bool */ public function contentSent() { return $this->contentSent; } /** * Send HTTP headers * * @return Response */ public function sendHeaders() { if ($this->headersSent()) { return $this; } $status = $this->renderStatusLine(); header($status); /** @var \Zend\Http\Header\HeaderInterface $header */ foreach ($this->getHeaders() as $header) { if ($header instanceof MultipleHeaderInterface) { header($header->toString(), false); continue; } header($header->toString()); } $this->headersSent = true; return $this; } /** * Send content * * @return Response */ public function sendContent() { if ($this->contentSent()) { return $this; } echo $this->getContent(); $this->contentSent = true; return $this; } /** * Send HTTP response * * @return Response */ public function send() { $this->sendHeaders() ->sendContent(); return $this; } } |