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.
- Install via Composer
composer require reactmore/support-adapter
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);
With Support Adapter, you can register a service in app/Config/Services.php for dependency injection into your CodeIgniter 4 project:
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/');
}
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