A bundle that enables Dependency Injection by annotations into your Symfony2 projects.
LosoDiAnnotationsBundle requires PHP 5.3 or later. It has been tested with Symfony v2.0.4.
You will need at least the following libraries in your vendor directory:
- Doctrine\Common
- Symfony
If you want to use the functionalities around entity repositories, you will also need:
- Doctrine\DBAL
- Doctrine\ORM
The files in this archive are released under the MIT license. You can find a copy of this license in the LICENSE file.
You can read the documentation in Resources/doc/index.rst
LosoDiAnnotationsBundle is heavily tested! To run the tests, you'll need to set the path to the vendors libraries in Tests/bootstrap.php and run the following command from the project's root:
phpunit --colors --bootstrap Tests/bootstrap.php Tests
Also LosoDiAnnotationsBundle uses Travis for continuous integration, see:
1. Add LosoDiAnnotationsBundle to your vendor libraries:
$ cp -r <path_to>/LosoDiAnnotationsBundle vendor/bundles/Loso/Bundle/DiAnnotationsBundle
Or via Git:
$ git submodule add git://github.com/loicfrering/LosoDiAnnotationsBundle.git vendor/bundles/Loso/Bundle/DiAnnotationsBundle
2. Register Loso namespace with the autoloader in app/autoload.php:
<?php
$loader->registerNamespaces(array(
// ...
'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
'Loso' => __DIR__.'/../vendor/bundles',
// ...
));
3. Register LosoDiAnnotationsBundle with your application's kernel in app/AppKernel.php:
<?php
public function registerBundles()
{
$bundles = array(
// ...
new Loso\Bundle\DiAnnotationsBundle\LosoDiAnnotationsBundle(),
// ...
);
// ...
return $bundles;
}
You can configure LosoDiAnnotationsBundle in one of the following ways in app/config/config.yml:
# app/config/config.yml
loso_di_annotations:
service_scan:
DemoBundle: ~
MyBundle:
base_namespace: [Prefix1, Prefix2\SubPrefix]
arbitrary_key:
dir:
- dir1
- dir2