tal7aouy/yusr
最新稳定版本:1.0.5
Composer 安装命令:
composer require tal7aouy/yusr
包简介
A lightweight HTTP client library for PHP inspired by Guzzle.
关键字:
README 文档
README
YusrClient is a robust and easy-to-use PHP HTTP client that simplifies making HTTP requests in your PHP applications. Built with modern PHP practices, it implements the PSR-18 HTTP Client interface and provides a fluent API for sending HTTP requests.
✨ Key Features
- 🔒 PSR-18 HTTP Client compliant
- 🛠 Singleton pattern implementation
- 🚦 Full HTTP method support (GET, POST, PUT, DELETE, PATCH)
- 🔄 Automatic retry mechanism with exponential backoff
- 🔧 Highly customizable request options
- 🧩 Intuitive fluent interface
- ⏱ Configurable timeouts
- 🔐 SSL verification support
📦 Installation
composer require tal7aouy/yusr
🚀 Quick Start
use Yusr\Http\YusrClient; // Get client instance $client = YusrClient::getInstance(); // Make a GET request $response = $client->get('https://api.example.com/users'); // Work with response $statusCode = $response->getStatusCode(); $data = $response->getBody()->getContents(); $headers = $response->getHeaders();
⚙️ Configuration
$client = YusrClient::getInstance([ 'timeout' => 30, 'allow_redirects' => true, 'verify' => true, 'retry' => [ 'max_attempts' => 3, 'delay' => 1000 // milliseconds ] ]);
📘 Available Methods
HTTP Methods
$client->get(string $uri, array $options = []); $client->post(string $uri, array $options = []); $client->put(string $uri, array $options = []); $client->delete(string $uri, array $options = []); $client->patch(string $uri, array $options = []);
Request Options
query- Array of URL query parametersheaders- Custom request headersbody- Request body (for POST, PUT, PATCH)timeout- Request timeout in secondsallow_redirects- Follow redirects (boolean)verify- SSL certificate verificationretry- Retry configuration for failed requests
🔄 Retry Mechanism
YusrClient includes a sophisticated retry mechanism with exponential backoff:
$client = YusrClient::getInstance([ 'retry' => [ 'max_attempts' => 3, 'delay' => 1000, 'multiplier' => 2 ] ]);
🤝 Contributing
Contributions are always welcome! Please read our Contributing Guide for details.
📝 License
This project is licensed under the MIT License.
🙏 Support
If you find this package helpful, please consider giving it a star ⭐️
统计信息
- 总下载量: 8
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-10-12
