DI containers are sorted alphabetically.
- Aura DI: source
- Auryn: source
- AWS/Guzzle: source
- Laravel 4: source
- League\Di: 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 | build($key) |
bound($key) |
Exception | No |
Orno\Di | resolve($key, [$args]) |
? | No | |
PHP-DI | get($key, [$useProxy]) |
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
: 6make
: 2build
: 1resolve
: 1- array access: 1
- Read mandatory number of parameters is always 1
- Test existence:
- with: 6
- without: 5
- Test existence method name:
has
: 2bound
: 2hasOption
: 1- array access: 1
- Not found behavior:
- exception: 8
- null: 2
- ArrayAccess:
- no: 7
- yes: 4