reactmore / support-adapter
v1.0.3
2025-09-23 21:26 UTC
Requires
- php: ^8.1
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- ext-pdo: *
- guzzlehttp/guzzle: ^7.0.1
- psr/http-message: 2.0
Requires (Dev)
- codeigniter4/devkit: ^1.3
- codeigniter4/framework: ^4.6
README
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
- Install via Composer
composer require reactmore/support-adapter
๐ Example Usage
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:
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