Super-Kernel DI is a specialized Dependency Injection container designed for the super-kernel framework.
This container strictly adheres to PSR-11 but introduces a specific management strategy to ensure performance and architectural clarity:
- Long-lived Object Management: The container is exclusively responsible for managing objects that persist throughout the application lifecycle (e.g., singletons, shared services, configuration).
- Caller Autonomy: In accordance with the PSR-11 meta-document, short-lived objects (request-specific or transient objects) should be managed by the caller, not the container. This prevents the "Service Locator" antipattern and keeps the container overhead minimal.
- PHP: ^8.4 (utilizing the latest engine features and property hooks)
- Framework: super-kernel core
Install the package via Composer:
composer require super-kernel/di- PSR-11 Compliant: Fully compatible with any standards-compliant library.
- Modern PHP Stack: Leveraging PHP 8.4's strict typing and performance optimizations.
- Lightweight Footprint: Focused on long-lived service resolution to reduce memory consumption.
- Alpha Status: Under active development, open for architectural feedback.
As a component of the super-kernel ecosystem, the DI container is typically initialized by the framework kernel. For manual usage:
use SuperKernel\Context\ApplicationContext;
use SuperKernel\Contract\ApplicationInterface;
ApplicationContext::getContainer()->get(ApplicationInterface::class)->run();This project is currently in its Alpha stage:
- The API is unstable and subject to breaking changes.
- Production use is not recommended at this time.
- We encourage developers to experiment and provide feedback via Issues or Pull Requests.
Contributions are what make the open-source community an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License.Copyright © 2024-2026 super-kernel.
See the LICENSE file for more information.