Download the PHP package echo-fusion/servicemanager without Composer
On this page you can find all versions of the php package echo-fusion/servicemanager. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download echo-fusion/servicemanager
More information about echo-fusion/servicemanager
Files in echo-fusion/servicemanager
Package servicemanager
Short Description A flexible service management package for PHP applications, providing service registration, lazy loading, and configurable dependency injection support.
License MIT
Informations about the package servicemanager
Service manager
The ServiceManager package is a lightweight, flexible dependency injection container for managing services in PHP applications. It supports features like singleton services, auto-wiring, and lazy loading, making it easy to define and resolve services of varying complexity.
With ServiceManagerProvider, the package can be seamlessly integrated into applications that use PSR-11-compatible containers.
Install
Via Composer
Requirements
The following versions of PHP are supported by this version.
- PHP 8.1
- PHP 8.2
- PHP 8.3
Key Features
- Auto-wiring: Automatically resolves dependencies for class constructors.
- Singleton support: Define services as shared (singleton) instances.
- Lazy loading: Services are instantiated only when requested.
- Configurable overrides: Allow or restrict overriding existing services.
Usage
Basic Setup
- Register Services: Add services to the container with set().
- Resolve Services: Retrieve instances via get().
- Enable Override: Allow service overrides using enableOverride().
This example demonstrates how to register and retrieve services, configure singletons, and enable auto-wiring for classes:
Using provider
The ServiceManagerProvider integrates ServiceManager into a PSR-11-compatible container and manages service booting and configuration.
Note: Copy the config file into your project's config directory and add your application's dependencies following the provided example.
Testing
Testing includes PHPUnit and PHPStan (Level 7).
Credits
Developed and maintained by Amir Shadanfar.
Connect on LinkedIn.
License
The MIT License (MIT). Please see License File for more information.
All versions of servicemanager with dependencies
psr/container Version ^2.0
echo-fusion/contracts Version ^1.0