An open API service indexing awesome lists of open source software.

https://github.com/reactmore/support-adapter


https://github.com/reactmore/support-adapter

Last synced: 4 months ago
JSON representation

Awesome Lists containing this project

README

          

# Support Adapter Guzzle for CodeIgniter 4

Support Adapter is a lightweight package that provides a Guzzle HTTP Adapter with a flexible approach for both CodeIgniter 4 and standalone PHP projects.

Its main goal is to simplify HTTP communication with external APIs through the PSR-7 and PSR-18 standards, keeping your code clean, consistent, and testable.

## ๐Ÿ“ฆ Installation

1. **Install via Composer**
```bash
composer require reactmore/support-adapter
```

## ๐Ÿ“– Example Usage
```php
use Reactmore\SupportAdapter\Adapter\Guzzle;
use Reactmore\SupportAdapter\Adapter\Auth\None;

// Auth adapter (no authentication)
$auth = new None();

// Initialize the adapter
$adapter = new Guzzle($auth, 'https://api.example.com/');

// Perform a GET request
$response = $adapter->get('users');

// Get response body
$data = json_decode($response->getBody()->getContents(), true);

print_r($data);

```

## ๐Ÿš€ CodeIgniter 4 Integration

With Support Adapter, you can register a service in app/Config/Services.php for dependency injection into your CodeIgniter 4 project:

```php
public static function apiClient($getShared = true)
{
if ($getShared) {
return static::getSharedInstance('apiClient');
}

$auth = new \Reactmore\SupportAdapter\Adapter\Auth\None();
return new \Reactmore\SupportAdapter\Adapter\Guzzle($auth, 'https://api.example.com/');
}

```
## ๐Ÿค Contributing

Contributions are always welcome!

If youโ€™d like to improve Support Adapter, hereโ€™s how you can help:

```
1. Fork the repository
2. Create a new feature branch (git checkout -b feature/my-new-feature)
3. Commit your changes (git commit -m 'Add new feature')
4. Push to the branch (git push origin feature/my-new-feature)
5. Open a Pull Request
```