私は Symfony 3.2.6 で PSR-7 スタイルの応答を送信および受信しようとしています。この件に関して dunglas からの元の投稿をたどろうとしているので、かなり単純に見えます。using-psr-7-in-symfony
私が追加しました
"symfony/psr-http-message-bridge": "v1.0.0",
"zendframework/zend-diactoros": "1.3.10"
私のcomposer.jsonに
私のコントローラーは次のとおりです。
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Zend\Diactoros\Response;
class DefaultController extends Controller
{
public function isAllowedAction()
{
$rep = ['status' => 1, 'message' => 'access granted'];
$response = new Response();
$response->getBody()->write(json_encode($rep));
return $response;
}
}
これを試してみると、ブラウザに次の例外が表示されます: The controller must return a response (Object(Zend\Diactoros\Response) given)。
Zend\Diactoros\Response オブジェクトは、記事の例に従って互換性があるはずだと思いました。sensio/framework-extra-bundle をそれを可能にするものとして参照しているので、不足している設定があるかどうか疑問に思っています。