the-firehub-project / container
A modular dependency injection container for The FireHub Project, providing service registration, dependency resolution, lifecycle management, and extensible service definitions.
Fund package maintenance!
Requires
- php: ^8.5
- the-firehub-project/core-standard: dev-develop
- the-firehub-project/runtime: >=0.1.0 <1.0.0
Requires (Dev)
- phpstan/phpstan: ^2.0
- the-firehub-project/phpstan-rules: dev-develop
- the-firehub-project/testing: dev-develop
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-10-22 13:47:18 UTC
README
FireHub Container
Provides the dependency injection and service management foundation of the FireHub ecosystem. This repository contains the runtime components responsible for service registration, dependency resolution, instance creation, and service lifetime management, enabling consistent and loosely coupled application architectures.
FireHub Container is built around the contracts defined by FireHub Core and provides a modular implementation of the Inversion of Control principle. It separates service definitions from their runtime resolution, allowing applications and framework components to declare dependencies without managing their construction directly.
This repository serves as a foundational runtime component for FireHub applications, adapters, and capabilities, supporting clean architecture, testability, extensibility, and predictable dependency management.
Repository Purpose
FireHub Container is the dependency injection and service resolution component of the FireHub ecosystem.
Built on the contracts provided by FireHub Core, it supplies the mechanisms required to register, construct, resolve, and manage application services.
The purpose of this repository is to centralize dependency management while preserving separation of concerns between service definitions, runtime implementation, and application execution.
The Container architecture is designed to support:
- Service registration and dependency resolution
- Interface-to-implementation bindings
- Instance, factory, and class-based service definitions
- Singleton and transient service lifetimes
- Dependency graph resolution and circular dependency detection
- Immutable service registrations after container construction
- Future support for autowiring and execution-scoped services
FireHub Container follows the architectural principles of The FireHub Project by separating responsibilities between contracts, dependency management, and application lifecycle orchestration.
The Container does not control application execution or kernel lifecycle transitions. Instead, it provides dependency management services that can be integrated into applications through the appropriate bootstrap and composition mechanisms.
Security
For security reporting and guidelines, please refer to our SECURITY.md file.
Community
- Be sure to review the Code of Conduct.
- Read a Contributing file to see how you can contribute to this project.
- Read our Security policy file to see how you can report a vulnerability.
- Review the project Governance model, including roles, decision-making, RFC process, and releases.
Support
For help with FireHub products, please refer to the following resources:
- General questions & discussions: GitHub Discussions
- Bug reports & issues: Support
- Documentation & guides: FireHub Docs
- Commercial support (Pro/Enterprise): contact your account manager
Authors and Contributors
Brand & Trademark
Please refer to TRADEMARK.md and BRAND.md for guidelines on FireHub branding.
Architecture guidelines, design principles, and ecosystem documentation are available within the FireHub Project organization.
License
This software is licensed under the Apache-2.0 License.
For more details, read the full license here.