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 页请下载阅读 -
文档评分