https://github.com/reactmore/support-adapter
https://github.com/reactmore/support-adapter
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/reactmore/support-adapter
- Owner: reactmore
- License: mit
- Created: 2025-09-23T10:15:41.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-09-23T10:58:39.000Z (4 months ago)
- Last Synced: 2025-09-23T12:39:48.931Z (4 months ago)
- Language: PHP
- Size: 9.77 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
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
```