拉威尔狂饮GET请求

2022-09-02 00:00:00 php laravel guzzle
    $client = new Client(['base_uri' => 'http://api.tvmaze.com/']);

    $res = $client->request('GET', '/schedule?country=US&date=2014-12-01');

    return $res;

返回此错误:

"Class 'SymfonyBridgePsrHttpMessageFactoryHttpFoundationFactory' not found"

我已尝试在Composer.json文件中包含"symfony/psr-http-Message-Bridge":"0.2"


解决方案

这是一个有点老的问题。然而,由于答案不能为我解决这个问题,所以在使用GUZLE http时,这里是最后一次尝试。

根据Laravel文档https://laravel.com/docs/5.3/requests#psr7-requests:

PSR-7标准指定了HTTP消息的接口,包括请求和响应。如果您希望获得PSR-7请求的实例,而不是Laravel请求,您将首先需要安装一些库。Laravel使用symfony HTTP Message Bridge组件将典型的Laravel请求和响应转换为与PSR-7兼容的实现:

composer require symfony/psr-http-message-bridge
composer require zendframework/zend-diactoros

这解决了我的问题。

编辑-

如评论中所示,包zendframework/zend-diactoros被放弃。那么最好使用替代方案。

建议者Symfony PSR7 Bridge:

composer require nyholm/psr7

或Laminas Diactoros Github Package:

composer require laminas/laminas-diactoros

相关文章