Neos\Fusion\TypoScriptObjects\Http\ResponseHeadImplementation::evaluate PHP Метод

evaluate() публичный Метод

Just return the processed value
public evaluate ( ) : mixed
Результат mixed
    public function evaluate()
    {
        $httpResponse = new Response();
        $httpResponse->setStatus($this->getStatusCode());
        $httpResponse->setHeaders(new Headers());
        foreach ($this->getHeaders() as $name => $value) {
            $httpResponse->setHeader($name, $value);
        }
        return implode("\r\n", $httpResponse->renderHeaders()) . "\r\n\r\n";
    }

Usage Example

 /**
  * @test
  * @dataProvider responseHeadExamples
  */
 public function evaluateTests($httpVersion, $statusCode, $headers, $expectedOutput)
 {
     $path = 'responseHead/test';
     $this->mockTsRuntime->expects($this->any())->method('evaluate')->will($this->returnCallback(function ($evaluatePath) use($path, $httpVersion, $statusCode, $headers) {
         $relativePath = str_replace($path . '/', '', $evaluatePath);
         switch ($relativePath) {
             case 'httpVersion':
                 return $httpVersion;
             case 'statusCode':
                 return $statusCode;
             case 'headers':
                 return $headers;
         }
         return isset($properties[$relativePath]) ? $properties[$relativePath] : null;
     }));
     $typoScriptObjectName = 'Neos.Fusion:Http.ResponseHead';
     $renderer = new ResponseHeadImplementation($this->mockTsRuntime, $path, $typoScriptObjectName);
     $result = $renderer->evaluate();
     $this->assertEquals($expectedOutput, $result);
 }