hixman / psr-container
A psr-11 container implementation
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/hixman/psr-container
Requires
- php: ~5.6|~7.0
Requires (Dev)
- phpunit/phpunit: 5.6.2
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2025-10-06 17:56:43 UTC
README
This is where your description should go. Try and limit it to a paragraph or two, and maybe throw in a mention of what PSRs you support to avoid any confusion with users and contributors.
Install
Via Composer
$ composer require hixman/psr-container
Usage
Basic Usage
$container = new Container(); $container->set(UserRepository::class, function(){ return new UserRepository(); }); $userRepositoryExits = $container->has(UserRepository::class; $userRepository = $container->get(UserRepository::class);
Delegated Repository
Only delegated container lookup.
$container = new Container(); $delegatedContainer = new Container(); $container->setDelegatedContainer($delegatedContainer); $container->set(UserRepository::class, function(){ return new UserRepository(); }); $userRepositoryExits = $container->has(UserRepository::class; // False $userRepository = $container->get(UserRepository::class); // Throws NotFoundException
Delegated container and itself lookup
$container = new Container(); $delegatedContainer = new Container(); $container->setDelegatedContainer($delegatedContainer, DelegableInterface::NOT_ONLY_DELEGATED); $container->set(UserRepository::class, function(){ return new UserRepository(); }); $userRepositoryExits = $container->has(UserRepository::class; // True $userRepository = $container->get(UserRepository::class); // A new instance of UserRepository
Change log
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email hixman88@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.