imj / 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-09-14 18:53:13 UTC
README
安装
composer require imj/registry
基本用法
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
延迟加载
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
服务注册
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
许可证
在MIT许可证下授权 - 有关详细信息,请参阅LICENSE
文件