我正在尝试在 Symfony 3.2.6 中发出和接收 PSR-7 样式的响应我一直在尝试遵循 dunglas 关于该主题的原始帖子,这使得它看起来相当简单。使用-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;
}
}
当我尝试这个时,我在浏览器中得到以下异常:控制器必须返回一个响应(Object(Zend\Diactoros\Response) given)。
我认为 Zend\Diactoros\Response 对象应该与文章中的示例兼容。它引用了 sensio/framework-extra-bundle 使其成为可能,所以我想知道是否缺少我的配置。