Output Buffering Middlewareを使用すると、2つの出力バッファモードAPPEND
(デフォルト)とPREPEND
モードを切り替えることができます。APPEND
モードでは、既存のレスポンス本文を使用してコンテンツを追加します。PREPEND
モードでは、新しいレスポンス本文オブジェクトを作成し、既存のレスポンス本文の出力にコンテンツを先頭に追加します。このミドルウェアはミドルウェアスタックの中央に配置する必要があり、最後に実行されます。
<?php
use Slim\Factory\AppFactory;
use Slim\Middleware\OutputBufferingMiddleware;
use Slim\Psr7\Factory\StreamFactory;
require __DIR__ . '/../vendor/autoload.php';
$app = AppFactory::create();
$streamFactory = new StreamFactory();
/**
* The two modes available are
* OutputBufferingMiddleware::APPEND (default mode) - Appends to existing response body
* OutputBufferingMiddleware::PREPEND - Creates entirely new response body
*/
$mode = OutputBufferingMiddleware::APPEND;
$outputBufferingMiddleware = new OutputBufferingMiddleware($streamFactory, $mode);
$app->add($outputBufferingMiddleware);
// ...
$app->run();