glenjamin / dimple
Dirt simple dependency injection container
Installs: 20
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/glenjamin/dimple
Requires
- php: >= 5.3
Requires (Dev)
- phpunit/phpunit: 3.7.x
- pimple/pimple: 1.0.x
This package is not auto-updated.
Last update: 2025-10-06 19:06:59 UTC
README
Dirt simple dependency injection container based loosely on Pimple
Install
composer require glenjamin/dimple
Usage
$di = new \Dimple\Dimple(); $di->setup('app', function($di) { return new Application($di->get('db'), $di->get('logger')); }); $di->setup('db', function($di) { return new \PDO($di->get('db-string')); }); $di->set('dbstring', 'mysql://localhost'); $di->setup('logger', function($di) { return new Logger($di->get('logfile', '/dev/null')); }); $app = $di->get('app'); $app->run();
How do I return the same instance on subsequent calls?
You don't.
Is it fast?
Unfortunately not massively, although it's not too bad
> php benchmark.php
10000000 Iterations
Raw: 4.3745291233063
Dimpled: 14.07391500473
Overhead: 221.724113%
It's a little over two times slower than raw object initialisation. If you use it for only your service level objects it should be palatable.