dev-master
9999999-dev https://github.com/asm89/yacYet another container
MIT
The Requires
- php >=5.3.3
The Development Requires
by Alexander
dependency injection container service location
Yet another container
Just remembered this gem from @crell at #tnphp: "Invent yet another container? You could call YAC, and shave it!" - igorwesome, (*1)
Yet another container is yet another di container for PHP, inspired by Pimple and LazyMap. Basically blending the two together. When using it the LazyMap way it's very performant., (*2)
$c = new Yac\Yac(); $c['env'] = 'dev';
$c['session'] = function($c) { return new Session($c->env); };
$std = $c['std']; // pimple compatible $std = $c->std; // "fast" LazyMap way
Yac is much faster than Pimple!, (*3)
$ php -n ./vendor/bin/athletic -p ./tests/YacPerformance/ -b ./tests/bootstrap.php -f GroupedFormatter YacPerformance\YacPerformanceEvent fetch_service-performance Method Name Iterations Average Time Ops/s Relative ------------------------------ ---------- ------------ -------------- --------- --------- pimpleFetchService : [Baseline] [100,000 ] [0.0000042015409] [238,007.91486] yacFetchServicePimpleStyle : [100,000 ] [0.0000032225394] [310,314.27956] [76.70%] yacFetchServiceLazyMapStyle : [100,000 ] [0.0000027879906] [358,681.27057] [66.36%] fetch_initialized_service-performance Method Name Iterations Average Time Ops/s Relative ------------------------------ ---------- ------------ -------------- --------- --------- pimpleFetchInitializedService : [Baseline] [100,000 ] [0.0000010025978] [997,408.92228] yacFetchInitializedServicePimpleStyle: [100,000 ] [0.0000007377648] [1,355,445.46456] [73.59%] yacFetchInitializedServiceLazyMapStyle: [100,000 ] [0.0000002871366] [3,482,663.50475] [28.64%]
__yac
Yet another container
MIT
dependency injection container service location