mohiwalla / php-fetch
A PHP utility for customizable fetch requests with support for HTTP methods, headers, body, timeout, and SSL verification, handling input validation and cURL errors.
Requires
- php: >=7.0
README
A PHP utility for performing fetch requests with customizable options such as HTTP method, headers, body, timeout, and SSL verification. The utility validates input and handles cURL errors, making it easy to send HTTP requests and receive responses in various formats.
Requirements
- PHP 7.0 or higher
- cURL extension enabled
Installation
To install the utility, you can use Composer. Add the following to your composer.json
file:
{ "require": { "mohiwalla/php-fetch": "1.0.0" } }
Then run:
composer install
OR just run this command directly:
composer require mohiwalla/php-fetch
Usage
Include the utility in your PHP script and use the fetch
function to perform HTTP requests.
Basic Example
require __DIR__ . '/vendor/mohiwalla/php-fetch/index.php'; $res = fetch('https://dummyjson.com/users/1'); $data = json_decode($res); echo print_r($data, true);
Supported Options
- method: The HTTP method to use for the request (default:
GET
). - headers: An associative array of custom headers to include in the request.
- body: The request body data, used with methods like
POST
andPUT
. - timeout: Request timeout in seconds (default:
30
). - ssl_verify: Whether to verify SSL certificates (default:
false
).
Exception Handling
The php-fetch
utility throws the following exceptions:
InvalidArgumentException
: If the options parameter is not an array or an invalid HTTP method is specified.RuntimeException
: If a cURL error occurs during the request.
Contributing
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
License
This project is licensed under the MIT License. See the LICENSE file for details.