<?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Mvc\ResponseSender; use Zend\Http\Header\MultipleHeaderInterface; abstract class AbstractResponseSender implements ResponseSenderInterface { /** * Send HTTP headers * * @param SendResponseEvent $event * @return self */ public function sendHeaders(SendResponseEvent $event) { if (headers_sent() || $event->headersSent()) { return $this; } $response = $event->getResponse(); foreach ($response->getHeaders() as $header) { if ($header instanceof MultipleHeaderInterface) { header($header->toString(), false); continue; } header($header->toString()); } $status = $response->renderStatusLine(); header($status); $event->setHeadersSent(); return $this; } }