snapshotpl/lazy-container
Composer 安装命令:
composer require snapshotpl/lazy-container
包简介
Lazy loading PSR-11 container decorator
README 文档
README
Lazy loading for PSR-11 container
Get lazy loadable object from any PSR-11 container! Powered by Proxy Manager
Usage
// Build LazyLoadingValueHolderFactory as you want $lazyLoadingFactory = new ProxyManager\Factory\LazyLoadingValueHolderFactory(); // Prepare you favorite container $pimple = new Pimple\Container(); $pimple['service'] = function ($container) { return new HeavyService($container->get('dependency')); }; // Create map (service name => class name) where you choose which services should be lazy loaded $classMap = ['service' => HeavyService::class]; // Put all things to LazyContainer $container = new LazyContainer($pimple, $lazyLoadingFactory, $classMap); // Use LazyContainer exactly same like other PSR-11 container (thanks for interface) $service = $container->get('service'); // Now $service is a proxy, so HeavyService wasn't created yet // After first usage of $service is real HeavyService! $result = $service->doSomething();
Installation
You can install this package through Composer:
composer require snapshotpl/lazy-container
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 15
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD
- 更新时间: 2016-04-13