Skip to content

Instantly share code, notes, and snippets.

@sasezaki
Last active October 4, 2015 16:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sasezaki/68670975fbb5ca5114ed to your computer and use it in GitHub Desktop.
Save sasezaki/68670975fbb5ca5114ed to your computer and use it in GitHub Desktop.
fix REAL PSR-7 READY
<?php
namespace BEAR\Project\Resource\Page;
use BEAR\Resource\ResourceObject;
class Index extends ResourceObject
{
public function onGet($name = 'BEAR.Sunday')
{
$this['title'] = 'Hello ' . $name;
return $this;
}
public function renderToStream($stream)
{
$view = new \SfpStreamView\View(sys_get_temp_dir());
$template = 'template.phtml'; //@see https://github.com/struggle-for-php/SfpStreamView/blob/b1f03ffa8d0224f8841170b675f14de9fdd442ce/demos/template.phtml
$vars = iterator_to_array($this);
$view->assign($vars);
$view->render($template, $stream);
}
}
diff --git a/src/Handler/ResourceHandler.php b/src/Handler/ResourceHandler.php
index 975f165..7eb322b 100644
--- a/src/Handler/ResourceHandler.php
+++ b/src/Handler/ResourceHandler.php
@@ -61,7 +61,11 @@ final class ResourceHandler
foreach ($resourceObject->headers as $name => $value) {
$response = $response->withHeader($name, $value);
}
- $response->getBody()->write((string) $resourceObject);
+ //$response->getBody()->write((string) $resourceObject);
+
+ $stream = $response->getBody()->detach();
+ $resourceObject->renderToStream($stream);
+ $response = $response->withBody(new \Zend\Diactoros\Stream($stream));
return $response;
}
@koriym
Copy link

koriym commented Oct 4, 2015

これ後で気が付きました!
PRしてもらっていいでしょうか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment