DI containers are sorted alphabetically.
- Aura DI: source
- Auryn: source
- AWS/Guzzle: source
- Laravel 4: source
- League\Di: source
- Mouf: source
- Orno\Di: source
- PHP-DI: source
- Pimple: source
- PPI: source
- Symfony 2: source
- Zend Framework 2: source
Submit PR to expand.
Comparison:
Container | Read | Test | Not found behavior | ArrayAccess |
---|---|---|---|---|
Aura DI | get($key) |
has($key) |
Exception | No |
Auryn | make($key, [$params]) |
Exception | No | |
AWS/Guzzle | get($key, [$throwAway]) |
array access | Exception | Yes |
Laravel | make($key, [$params]) |
bound($key) |
Exception? | Yes |
League\Di | resolve($key) |
bound($key) |
Exception | No |
Mouf | get($key) |
has($key) |
Exception | No |
Orno\Di | resolve($key, [$args]) |
? | No | |
PHP-DI | get($key) |
has($key) |
Exception | No |
Pimple | array access | array access | Exception | Yes |
PPI | get($key, [$bool]) |
hasOption($key) |
Exception | Yes |
Symfony | get($id, [$invalidBehavior]) |
has($key) |
Null or Exception | No |
ZF2 | get($key, [$params]) |
Null | No |
Parameters surrounded by []
(like get($key, [$param])
) are optional parameters.
Summary
- Read method name:
get
: 7make
: 2resolve
: 2- array access: 1
- Read mandatory number of parameters is always 1
- Test existence:
- with: 9
- without: 4
- Test existence method name:
has
: 4bound
: 2hasOption
: 1- array access: 2
- Not found behavior:
- exception: 10
- null: 2
- ArrayAccess:
- no: 8
- yes: 4
How do you do a PR for a gist? Here is a change I made to my fork: https://gist.github.com/jeremeamia/6159891/revisions.