epub文档 Guzzle PHP v5 Documentation

309.78 KB 62 页 0 评论
语言 格式 评分
英语
.epub
3
摘要
Guzzle 是一个 PHP HTTP 客户端,简化了发送 HTTP 请求和与 Web 服务集成的过程。它提供了简单的接口用于构建查询字符串、POST 请求、流式上传和下载、使用 HTTP Cookie 以及上传 JSON 数据等。Guzzle 支持同步和异步请求,并使用 PSR-7 接口处理请求、响应和流。它抽象了底层的 HTTP 传输,允许编写与环境和传输无关的代码,且不依赖于 cURL、PHP 流、套接字或非阻塞事件循环。Guzzle 还提供了中间件系统,用于增强和组合客户端行为。文档详细介绍了 Guzzle 的安装、使用、环境变量设置、异常处理以及贡献指南。
AI总结
**Guzzle PHP v5 Documentation 总结** **核心观点:** Guzzle 是一个 PHP HTTP 客户端,简化了 HTTP 请求的发送和与 Web 服务的集成。它支持同步和异步请求,使用 PSR-7 标准接口,并抽象了底层 HTTP 传输机制,使其不依赖于 cURL、PHP 流、套接字或非阻塞事件循环。 **关键信息:** 1. **功能特点**: - 提供简单接口,支持构建查询字符串、POST 请求、流式上传和下载、使用 HTTP Cookie、上传 JSON 数据等。 - 支持同步和异步请求。 - 使用 PSR-7 标准接口,兼容其他 PSR-7 库。 - 支持中间件系统,允许增强和组合客户端行为。 2. **基本用法**: - 创建客户端并发送 GET 请求示例: ```php $client = new GuzzleHttp\Client(); $res = $client->request('GET', 'https://api.github.com/user', ['auth' => ['user', 'pass']]); echo $res->getStatusCode(); // 200 echo $res->getHeader('content-type'); // 'application/json; charset=utf8' echo $res->getBody(); // {"type":"User"...' ``` - 发送异步请求示例: ```php $promise = $client->sendAsync($request)->then(function ($response) { echo 'I completed! ' . $response->getBody(); }); $promise->wait(); ``` 3. **环境变量和配置**: - `GUZZLE_CURL_SELECT_TIMEOUT`:控制 `curl_multi_select()` 的超时时间。 - `HTTP_PROXY` 和 `HTTPS_PROXY`:定义 HTTP 和 HTTPS 请求的代理。 - `openssl.cafile`:指定用于 HTTPS 请求的 CA 文件路径。 4. **安装与依赖**: - 推荐使用 Composer 安装: ```bash composer require guzzlehttp/guzzle:~6.0 ``` - 开发时可以使用 `~6.0@dev` 版本以获取最新更新。 5. **异常处理**: - 所有异常继承自 `GuzzleHttp\Exception\TransferException`,包括 `TooManyRedirectsException` 和 `RequestException`。 6. **贡献指南**: - 遵循 PSR-1、PSR-2、PSR-4 和 PSR-7 标准。 - 最低 PHP 版本要求为 5.5。 - 所有拉取请求必须包含单元测试。 7. **安全漏洞报告**: - 发现安全漏洞时,应通过 `security@guzzlephp.org` 进行负责任地披露。 **总结:** Guzzle 是一个功能强大且灵活的 PHP HTTP 客户端,支持多种请求方式和配置选项,适用于各种 Web 服务集成场景。通过使用 PSR-7 标准和中间件系统,Guzzle 提供了高度的可扩展性和兼容性。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 50 页请下载阅读 -
文档评分
请文明评论,理性发言.