Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

🚀 Yusr: A lightweight, powerful PHP HTTP client inspired by Guzzle

License

NotificationsYou must be signed in to change notification settings

tal7aouy/yusr

Repository files navigation

YusrClient Logo

Latest Version on PackagistTotal DownloadsLicense

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

useYusr\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 parameters
  • headers - Custom request headers
  • body - Request body (for POST, PUT, PATCH)
  • timeout - Request timeout in seconds
  • allow_redirects - Follow redirects (boolean)
  • verify - SSL certificate verification
  • retry - 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 ourContributing Guide for details.

📝 License

This project is licensed under theMIT License.

🙏 Support

If you find this package helpful, please consider giving it a star ⭐️

About

🚀 Yusr: A lightweight, powerful PHP HTTP client inspired by Guzzle

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp