gonon / core
Gonon Core Foundation
v1.0.0
2026-07-09 11:57 UTC
Requires
- php: ^8.2.0
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^2.0
- psr/log: ^3.0
- symfony/http-client: ^6.0 || ^7.0
Requires (Dev)
- laravel/pint: ^1.10
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0 || ^11.0
README
Introduction
Gonon Core is the foundation package for the entire Gonon ecosystem. It provides reusable, vendor-agnostic, and framework-agnostic infrastructure shared by every Gonon SDK.
Features
- HTTP Abstraction via PSR interfaces
- Configuration management
- Unified Exception hierarchy
- Retry mechanisms (Exponential Backoff, Fixed Delay)
- Collections and DTO foundations
- Authentication contracts
- Testing utilities
Requirements
- PHP 8.2 or higher
Installation
You can install the package via composer:
composer require gonon/core
Configuration
Gonon Core uses immutable configuration objects.
use Gonon\Core\Configuration\Config; use Gonon\Core\Configuration\Environment; $config = new Config( environment: Environment::Production, timeout: 30, );
Quick Start
Core is primarily used by SDKs, not directly by applications.
// Example usage inside an SDK $adapter = new \Gonon\Http\Symfony\SymfonyHttpClient(); // External adapter package $client = new \Gonon\Core\Http\Client($config, $adapter); $response = $client->sendRequest($request);
Examples
Check the examples/ directory for full usage examples.
API Reference
The full API reference is available within the source code via PHPDoc annotations.
Testing
composer test
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see LICENSE for more information.