calgamo / registry
Dpendency injection container wrapper interface library
Installs: 214
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
pkg:composer/calgamo/registry
This package has no released version yet, and little information is available.
README
Description
Calgamo/Registry is a dependency injection(DI) container facade library
Feature
Demo
Exsample 1: Simple usage of registry
use Calgamo\Di\Container; use Calgamo\Registry\Adapter\CalgamoDiAdapter; use Calgamo\Registry\Registry; use Calgamo\Registry\Sample\Human; try{ $registry = new Registry('', new CalgamoDiAdapter(new Container)); $david = new Human('David'); $registry->set(Human::class, $david); $david = $registry->get(Human::class); echo 'My name: ' . $david->name . PHP_EOL; } catch(\Throwable $e) { die($e->getTraceAsString()); }
Output:
My name: David
Exsample 2: Simple usage of regisrtry registry
use Calgamo\Registry\RegistryRegistry; try{ $registry_registry = new RegistryRegistry('registry.registry', new CalgamoDiAdapter(new Container)); $registry = new Registry('human.namespace', new CalgamoDiAdapter(new Container)); $david = new Human('David'); $registry->set(Human::class, $david); $registry_registry->setRegistry('human.registry', $registry); call_user_func( function(RegistryRegistry $registry_registry) { // You can get registry via registry registry. $r = $registry_registry->getRegistry('human.registry'); // You can get object via registry. $david = $r->get(Human::class); echo 'My name: ' . $david->name . PHP_EOL; } , $registry_registry); } catch(\Throwable $e) { die($e->getTraceAsString()); }
Output:
Human registry is registered: 1 My name: David
Exsample 3: Lazy instantiation
try{ $registry = new Registry('human.registry', new CalgamoDiAdapter(new Container)); $registry->set(Human::class, function(){ return new Human('David'); }); $david = $registry->get(Human::class); echo 'My name: ' . $david->name . PHP_EOL; } catch(\Throwable $e) { die($e->getTraceAsString()); }
Output:
My name: David
Usage
Requirement
PHP 7.0 or later
Installing Calgamo/Registry
The recommended way to install Calgamo/Registry is through Composer.
composer require calgamo/registry
After installing, you need to require Composer's autoloader:
require 'vendor/autoload.php';
License
Author
Disclaimer
This software is no warranty.
We are not responsible for any results caused by the use of this software.
Please use the responsibility of the your self.