imj / registry
A simple and lightweight registry
v1.0.3
2017-05-26 08:51 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ~4.3.0
This package is not auto-updated.
Last update: 2024-10-26 19:21:47 UTC
README
Installation
composer require imj/registry
Basic Usage
use Imj\Registry; $r = new Registry(); $r->set('foo', 'a'); echo $r->get('foo'); // a echo $r['foo']; // a $r['bar'] = 'b'; echo $r['bar']; // b
lazy load
use Imj\Registry; class Foo { public function sayHi() { return 'hi'; } } $r->singleton('foo_class', function($c){ return new Foo(); }); echo $r->get('foo_class')->sayHi(); // hi echo $r->foo_class->sayHi(); // hi
service register
use Imj\ServiceProviderInterface; use Imj\Registry; class LibraryProvider implements ServiceProviderInterface { public function register(Registry $registry) { $registry->singleton('bar_class', function($c){ return new Bar(); }); } } class Bar { public function sayHey() { return 'hey'; } } $r->register(new LibraryProvider()); echo $r->bar_class->sayHey(); // hey
License
licensed under the MIT License - see the LICENSE
file for details