Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AbstractResult.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Framework\App\Response\HttpInterface as HttpResponseInterface;
11 
12 abstract class AbstractResult implements ResultInterface
13 {
17  protected $httpResponseCode;
18 
22  protected $headers = [];
23 
27  protected $statusHeaderCode;
28 
33 
38 
45  public function setHttpResponseCode($httpCode)
46  {
47  $this->httpResponseCode = $httpCode;
48  return $this;
49  }
50 
62  public function setHeader($name, $value, $replace = false)
63  {
64  $this->headers[] = [
65  'name' => $name,
66  'value' => $value,
67  'replace' => $replace,
68  ];
69  return $this;
70  }
71 
78  public function setStatusHeader($httpCode, $version = null, $phrase = null)
79  {
80  $this->statusHeaderCode = $httpCode;
81  $this->statusHeaderVersion = $version;
82  $this->statusHeaderPhrase = $phrase;
83  return $this;
84  }
85 
90  protected function applyHttpHeaders(HttpResponseInterface $response)
91  {
92  if (!empty($this->httpResponseCode)) {
93  $response->setHttpResponseCode($this->httpResponseCode);
94  }
95  if ($this->statusHeaderCode) {
96  $response->setStatusHeader(
97  $this->statusHeaderCode,
98  $this->statusHeaderVersion,
99  $this->statusHeaderPhrase
100  );
101  }
102  if (!empty($this->headers)) {
103  foreach ($this->headers as $headerData) {
104  $response->setHeader($headerData['name'], $headerData['value'], $headerData['replace']);
105  }
106  }
107  return $this;
108  }
109 
114  abstract protected function render(HttpResponseInterface $response);
115 
123  {
124  $this->applyHttpHeaders($response);
125  return $this->render($response);
126  }
127 }
$response
Definition: 404.php:11
setStatusHeader($httpCode, $version=null, $phrase=null)
applyHttpHeaders(HttpResponseInterface $response)
setHeader($name, $value, $replace=false)
$value
Definition: gender.phtml:16
render(HttpResponseInterface $response)
renderResult(ResponseInterface $response)
if(!isset($_GET['name'])) $name
Definition: log.php:14