Download the PHP package moodev/bounce without Composer
On this page you can find all versions of the php package moodev/bounce. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download moodev/bounce
More information about moodev/bounce
Files in moodev/bounce
Package bounce
Short Description Dependency injection framework for PHP, similar to Spring
License ISC
Homepage http://github.com/moodev/bounce
Informations about the package bounce
Bounce
Bounce is a dependency injection framework for PHP, similar to a sub-set of Spring. It used to be a standalone framework, which did a lot at runtime, and was therefore a bit expensive. It's now a front end to Symfony2's DI library, which is a fair bit more developed than Bounce was.
Usage
Create a context XML file (see some of the examples in the tests.)
Then:
New style using Symfony2
Use the BounceFileLoader in your Symfony2 app. Both the BounceFileLoader and the Symfony XMLFileLoader will try and claim all .xml files, which is less than ideal. You'll probably need to introduce some kind of delegating loader that filters by path, or file name, or something, in front of them to prevent this. Sorry.
Old style ApplicationContext interface and configs
Instantiate a SymfonyApplicationContext. This will load the provided context into a new Symfony container and wrap it in the old ApplicationContext interface.
If you're looking for a migration path away from the Bounce XML format, but have significant usage of the ApplicationContext interface you could pass a different FileLoaderFactory to the SymfonyApplicationContext, which could allow services to be loaded from other styles of Symfony config. Sadly the bounce xml's import statement does not invoke the file loader, so bounce xml files cannot import things that aren't other bounce xml files.
ApplicationContext interface, externally provided container
The SymfonyContainerBeanFactory can wrap an existing container, and be used to instantiate the plain boring ApplicationContext. This will give you the ApplicationContext interface, with none of the rest of bounce's config stuff.
(of course there's nothing stopping you using the BounceFileLoader to load your own container for this, which is basically what the SymfonyApplicationContext is a shortcut to.)
What's supported
Only the basics. Property and constructor injection work. Beans can be constructed from factories. Lookup methods work, but only if the bean doesn't get created by a factory. Scoping is really basic. Singleton is the default. Prototype is, in theory, supported.
All versions of bounce with dependencies
symfony/dependency-injection Version >=2.3.0 <2.8.0
symfony/config Version >=2.3.0 <2.8.0