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