Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP的HTTP库(可能不是Guzzle)_Php_Curl_Composer Php_Guzzle - Fatal编程技术网

PHP的HTTP库(可能不是Guzzle)

PHP的HTTP库(可能不是Guzzle),php,curl,composer-php,guzzle,Php,Curl,Composer Php,Guzzle,我正在开发一个客户端库,用于几个内部项目 项目A使用Guzzle 5.x 项目B使用Guzzle 6.x 两者都相当单一,我将项目A迁移到6.x的可能性非常小 我正在开发的客户机库使用Guzzle(目前为5.x),该库将包含在项目A和B中。但是,Composer对此犹豫不决,因为我不能在我的客户机库中使用Guzzle 5.x,在外部项目(需要库的项目)中使用Guzzle 6.x 如果有任何方法可以解决这个问题,我将非常感谢您的建议(我想我可以将Guzzle 5.x PHAR文件粘贴到我的客户机库

我正在开发一个客户端库,用于几个内部项目

项目A使用Guzzle 5.x 项目B使用Guzzle 6.x

两者都相当单一,我将项目A迁移到6.x的可能性非常小

我正在开发的客户机库使用Guzzle(目前为5.x),该库将包含在项目A和B中。但是,Composer对此犹豫不决,因为我不能在我的客户机库中使用Guzzle 5.x,在外部项目(需要库的项目)中使用Guzzle 6.x

如果有任何方法可以解决这个问题,我将非常感谢您的建议(我想我可以将Guzzle 5.x PHAR文件粘贴到我的客户机库中,但这让我感觉不舒服)

既然已经完成了最初的咽喉清理工作——鉴于上述情况对我造成了僵局,除了Guzzle之外,您还推荐哪种HTTP库

  • 请求()-我对此犹豫不决的是,这似乎是对cURL的一次彻底的重新实现,a)似乎没有必要,b)似乎注定要赶上cURL和HTTP2带来的HTTP的复杂性等;看来这将是一个头痛的维持

  • HTTPFul()-似乎不再积极开发

  • Buzz()-似乎不再积极发展


  • 。。。或


  • 停止使用******,保持当前库代码正常工作,只需包含该死的Guzzle 5.x PHAR即可
  • 狂饮5到6次 我不认为在Guzzle 6旁边加载Guzzle 5.x是一种选择,即使使用Phar。假设您使用的是Composer的autoloader,您可能会遇到名称空间冲突

    备选HTTP客户端库 我听说过关于请求的好消息,但我自己没有使用过。我理解你对重新发明轮子的担忧


    如果您想要一个使用curl的轻量级HTTP客户机,请参阅。我没有使用过它,但Mashape是一个众所周知的实体。看起来很活跃

    使用HTTPPlug适配器 这也值得一看:


    现在,您的单个项目可以将Guzzle 6或Guzzle 5连接到此适配器,并且您可以根据单个PSR-7 API编写库

    我不认为4真的是一种选择。假设您的项目使用的是composer的autoloader,那么在尝试将5.x phar与已安装的6.x一起包含时会出现名称空间冲突(尝试重新定义类时出错)。不?妈的,我想你是对的。我可能需要在不同的PSR-4定义下使用它…?如果您想要一个使用curl的轻量级HTTP客户端,可能值得一看。我没有使用过它,但Mashape是一个众所周知的实体。看起来很活跃。我可能会使用这个或请求,并避免个人的激烈冲突。臭死了,我知道。几个月前我也处于同样的境地,我们做出了痛苦的决定,将所有项目升级到guzzle 6.x。如果我们不能做到这一点,我想我会使用Requests或Unirest。许多好的问题都会根据专家经验产生一定程度的意见,但对这个问题的回答往往几乎完全基于意见,而不是事实、参考资料,不幸的是,HTTPlug无法工作,但Unirest是完美的