KnpRadBundle : configurer Doctrine + ORM
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/configsVous 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: trueDans le même fichier, ajouter la ligne
- Symfony\Bundle\DoctrineBundle\DoctrineBundledans 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
2 réponses à “KnpRadBundle : configurer Doctrine + ORM”
Bonjour, j’ai suivi les étapes, mais j’obtiens toujours l’erreur :
[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException]
You have requested a non-existent service « doctrine ».
Pourtant, j’ai bien le fichier doctrine.yml dans app/config/
Quelqu’un a un idée? merci!
Tu dois activer le bundle dans le fichier kernel.yml.