apimatic/core-interfaces
Core PHP interfaces used by APIMatic SDK tooling, defining contracts for requests, responses, context, authentication managers, logging, parameter validation, and HTTP client configuration. Supports PHP 7.2–8.2.
Architecture fit: Ideal for Laravel projects extending or integrating with APIMatic's SDK ecosystem. Interfaces align with Laravel's dependency injection pattern, enabling clean separation of HTTP client logic, authentication, and logging. However, it's designed as a contract layer—not for direct app usage—making it suitable only when building SDKs or custom integrations requiring APIMatic compatibility. For standard Laravel apps using Guzzle directly, this adds unnecessary abstraction.
Integration feasibility: Straightforward via Composer. Requires implementing interfaces (e.g., wrapping Laravel's Http facade into HttpClientInterface). Minimal friction since interfaces are pure PHP contracts, but implementation effort depends on existing HTTP stack. Critical dependency: Must align versions with apimatic/core and SDKs to avoid runtime errors.
Technical risk: Low for the package itself (interface-only, MIT-licensed, SonarCloud-verified maintainability). High risk if misapplied: 0 dependents indicate limited external validation; mismatched versions with APIMatic's core packages could cause fatal errors. PHP 7.2+ support is safe for modern Laravel (v8+), but legacy PHP versions in older Laravel projects may require docblock adjustments.
Key questions: Is the project part of APIMatic's SDK ecosystem or building a custom SDK requiring APIMatic compatibility? Do we need to swap HTTP clients/auth providers without changing business logic? Are we prepared to maintain interface implementations (e.g., Guzzle adapters) for 3+ years?
Stack fit: Laravel's DI container and service providers integrate seamlessly. Existing Guzzle-based HTTP logic can be wrapped into HttpClientInterface and RequestInterface implementations. PSR-7 compatibility of Laravel's Http facade aligns with ResponseInterface contracts. However, native Laravel features like middleware would require custom adapters to fit ApiLoggerInterface.
Migration path: 1) Install package via Composer; 2) Create adapter classes (e.g., LaravelHttpClient implementing HttpClientInterface using Http:: facade); 3) Bind implementations to container in service provider; 4) Refactor SDK-related code to depend on interfaces instead of concrete classes. No breaking changes if starting new SDK development.
Compatibility: Fully compatible with Laravel 8+ (PHP 7.3+). Requires PHP 8.0+ for native BackedEnum support (though `Auth
How can I help you explore Laravel packages today?