Download the PHP package jerome/fetch-php without Composer
On this page you can find all versions of the php package jerome/fetch-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download jerome/fetch-php
More information about jerome/fetch-php
Files in jerome/fetch-php
Package fetch-php
Short Description The JavaScript fetch API for PHP.
License GPL-3.0-or-later
Homepage https://fetch-php.thavarshan.com
Informations about the package fetch-php
Fetch PHP
Fetch PHP is a modern HTTP client library for PHP that brings JavaScript's fetch
API experience to PHP. Built on top of Guzzle, Fetch PHP allows you to write HTTP code with a clean, intuitive JavaScript-like syntax while still maintaining PHP's familiar patterns.
With support for both synchronous and asynchronous requests, a fluent chainable API, and powerful retry mechanics, Fetch PHP streamlines HTTP operations in your PHP applications.
Full documentation can be found here
Key Features
- JavaScript-like Syntax: Write HTTP requests just like you would in JavaScript with the
fetch()
function andasync
/await
patterns - Promise-based API: Use familiar
.then()
,.catch()
, and.finally()
methods for async operations - Fluent Interface: Build requests with a clean, chainable API
- Built on Guzzle: Benefit from Guzzle's robust functionality with a more elegant API
- Retry Mechanics: Automatically retry failed requests with exponential backoff
- PHP-style Helper Functions: Includes traditional PHP function helpers (
get()
,post()
, etc.) for those who prefer that style
Why Choose Fetch PHP?
Beyond Guzzle
While Guzzle is a powerful HTTP client, Fetch PHP enhances the experience by providing:
- JavaScript-like API: Enjoy the familiar
fetch()
API andasync
/await
patterns from JavaScript - Global client management: Configure once, use everywhere with the global client
- Simplified requests: Make common HTTP requests with less code
- Enhanced error handling: Reliable retry mechanics and clear error information
- Type-safe enums: Use enums for HTTP methods, content types, and status codes
Feature | Fetch PHP | Guzzle |
---|---|---|
API Style | JavaScript-like fetch + async/await + PHP-style helpers | PHP-style only |
Client Management | Global client + instance options | Instance-based only |
Request Syntax | Clean, minimal | More verbose |
Types | Modern PHP 8.1+ enums | String constants |
Helper Functions | Multiple styles available | Limited |
Installation
Requirements: PHP 8.1 or higher
Basic Usage
JavaScript-style API
PHP-style Helpers
Fluent API
Async/Await Pattern
Using Async/Await
Multiple Concurrent Requests with Async/Await
Sequential Requests with Async/Await
Error Handling with Async/Await
Traditional Promise-based Pattern
Advanced Async Usage
Concurrent Requests with Promise Utilities
Controlled Concurrency with Map
Batch Processing
With Retries
Advanced Configuration
Authentication
Proxies
Global Client Configuration
Working with Responses
Working with Type-Safe Enums
Error Handling
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Contributing
Contributions are welcome! We're currently looking for help with:
- Expanding test coverage
- Improving documentation
- Adding support for additional HTTP features
To contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/amazing-feature
) - Commit your Changes (
git commit -m 'Add some amazing-feature'
) - Push to the Branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Acknowledgments
- Thanks to Guzzle HTTP for providing the underlying HTTP client
- Thanks to all contributors who have helped improve this package
- Special thanks to the PHP community for their support and feedback
All versions of fetch-php with dependencies
guzzlehttp/guzzle Version ^7.9
guzzlehttp/psr7 Version ^2.7
jerome/matrix Version ^3.3
psr/http-message Version ^1.0|^2.0
psr/log Version ^1.0|^2.0|^3.0
react/event-loop Version ^1.5
react/promise Version ^3.2