Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A bundle that enables annotation-based Dependency Injection into your Symfony2 projects. Formerly known as LosoBundle.
PHP
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
DependencyInjection
Repository
Resources
Tests
.gitignore
.travis.yml
LosoDiAnnotationsBundle.php
README.md
composer.json Update composer.json.
vendors.php

README.md

LosoDiAnnotationsBundle

What is LosoDiAnnotationsBundle?

A bundle that enables Dependency Injection by annotations into your Symfony2 projects.

Build Status

Requirements

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

License

The files in this archive are released under the MIT license. You can find a copy of this license in the LICENSE file.

Documentation

You can read the documentation in Resources/doc/index.rst

Tests

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: Build Status

Installation

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;
}

Configuration

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
Something went wrong with that request. Please try again.