Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A bundle that enables annotation-based Dependency Injection into your Symfony2 projects. Formerly known as LosoBundle.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 DependencyInjection
Octocat-spinner-32 Repository
Octocat-spinner-32 Resources
Octocat-spinner-32 Tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 LosoDiAnnotationsBundle.php
Octocat-spinner-32 README.md
Octocat-spinner-32 composer.json
Octocat-spinner-32 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.