4.0

[![Build Status](https://travis-ci.org/mnapoli/PHP-DI.png?branch=4.0)](https://travis-ci.org/mnapoli/PHP-DI) [![Coverage Status](https://coveralls.io/repos/mnapoli/PHP-DI/badge.png?branch=4.0)](https://coveralls.io/r/mnapoli/PHP-DI?branch=4.0)

[Complete issue list](https://github.com/mnapoli/PHP-DI/issues?milestone=9&page=1&state=open)

Expect changes in the YAML/array configurations, …

See also: [Thoughts for PHP-DI 4.0](https://gist.github.com/mnapoli/6890585)

Main goals:

- **interoperability** with "standards", other containers and frameworks (Symfony 2 mainly)
- **modern**: target PHP 5.5 and 5.6? 5.5 brings major changes in simplicity of configuration with `::class` (still compatible with PHP 5.3 though)
- **simpler** config syntax (no need to learn a syntax)
- **compiled** container (or at least leave the door open for this)

TODO:

- [x] Documentation: use the term "autowiring"
- [x] Documentation: entry alias
- [x] Re-make all tests compatible PHP 5.3
- [x] Documentation: migration from 3.* to 4.0
- [x] Documentation : update the "how it works article"
- [x] Simplify/less differences in PHP "code" configuration and PHP "array" configuration
- [x] ContainerBuilder should take a PHP file, so that it can be cached/compiled and not re-executed each time
- [x] Remove definition validation (unused?)
- [x] Document Z2 and Symfony 2 integration
- [x] Rename `->withConstructor()` to `->constructor()`?
- [x] Rename `->withMethod()` to `->method()`
- [x] Rename `->withProperty()` to `->property()`
- [x] phpDoc on methods of `ObjectDefinitionHelper`
- [x] ContainerBuilder should take a file, not a `DefinitionSource`
- [x] `Definition::isCacheable()` -> add a `CacheableDefinition` interface instead
- [x] Improve code coverage to 80%
- [x] Fix this documentation: https://github.com/mnapoli/PHP-DI/blob/4.0/doc/container-configuration.md
- [x] Improve comment on call to deprecated method in `ContainerBuilder::buildProxyFactory` (Ocramius/ProxyManager#137)
- [x] Link in documentation to 3.x documentation (GitHub)
- [x] Update lazy injection documentation

Preview of the new website:

![phpdi4](https://f.cloud.github.com/assets/720328/1796540/c17b7408-6a74-11e3-94ac-99aad85f3739.png)