Last week when I was in Miami to speak at the SunshinePHP 2016 conference I took the time to prepare the version 0.2.0 release of our PHP DI container called Disco. This release features 2 important changes which I want to highlight in this blog post.
1. Internal dependencies:
Protected methods can now also be annotated similar to public methods giving you the option of configuring "internal dependencies" the same way as a public dependency. In contrast to the public methods definitions, protected method definitions cannot be retrieved via calls to \bitExpert\Disco\BeanFactory::get() but used internally as dependencies. This is ideal when you do not want to expose the database connection object to the outside world but reuse it internally for your different repositories.
This feature was added by @skoop as one of his contributions to 24pullrequests.com. Thank you very much!
2. Improved configuration support
In the previous version Disco would not allow you to define the location where the generated proxy classes got generated. This could lead to problems when multiple applications on the same host would use configuration classes with the same name. To fix this issue we introduced a \bitExpert\Disco\BeanFactoryConfiguration class which can be passed to the \bitExpert\Disco\BeanFactory object.