KnpLabs a sorti il y a quelques semaines un nouveau bundle qui est en fait un « mini-Symfony » : KnpRadBundle.

Ce bundle est en fait plus un micro-framework comme Silex plutôt qu’un Bundle. L’avantage reste, comparé à Silex, que la syntaxe reste celle de Symfony et que les bundles peuvent également êtres utilisés.

Sans m’attarder sur ce qu’apporte ce bundle (leur site l’explique très bien), je vais plutôt vous expliquer comment activer Doctrine + ORM.

Le fichier composer.json

Premièrement, ouvrez votre composer.json et ajoutez y la ligne suivante :

"doctrine/orm": "2.1.x-dev"

Puis, lancez la commande

php composer.phar update

pour que Composer l’installe en prenant soin d’installer ses dépendances.

Configuration

Pour obtenir un fichier de configuration dans app/config, rien de plus simple :

php bin/configs

Vous obtenez alors un fichier Doctrine.yml avec toute la configuration de référence que vous pouvez adapter en fonction de votre projet.

Maintenant, dans le fichier app/kernel.yml, bien avoir la ligne suivante :

database_enabled:   true

Dans le même fichier, ajouter la ligne

- Symfony\Bundle\DoctrineBundle\DoctrineBundle

dans la section all.bundles

Autoload

Dernière chose, créez le fichier app/autoload.php, et y mettre le contenu suivant :

1
2
3
4
5
<?php
// autoload ORM annotations
Doctrine\Common\Annotations\AnnotationRegistry::registerFile(
    __DIR__.'/../vendor/doctrine/orm/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'
);

Et voilà, le reste ne change pas. Vous pouvez maintenant utiliser Doctrine + ORM dans votre projet !

Merci à l3pp4rd pour son aide.

Thomas