Gestion de routes entre bundle "global" et bundle "simple"

Par Patrick Bass, il y a 11 ans


Bonjour,

Je travaille sur un projet Symfony2 dans lequel un bundle du style CoreBundle, regroupe toutes les fonctionnalité nécessaires pour l'exécution des routes de la forme groupX.domaine/un-test (group1.domaine/un-test, group2.domaine/un-test,...). Dans le répertoire /app/config/routing.yml, les routes sont sous la forme :

ex_groupX_core: resource: "@EXCoreBundle/Resources/config/routing.yml" prefix: / host: "{group}.{domain}" defaults: domain: %ex_domain% requirements: domain: "%ex_domain%" group: 'groupX'

Il est donc question de créer des bundles GroupXBundle indépendants de façon à ce que les URLs groupX.domaine/un-test ne soient plus gérées par CoreBundle, mais de manière indépendante par le bundle GroupXBundle concerné. Pour ce faire, j'ai copié les fichiers en .twig de CoreBundle vers les repertoires /views de chacun des GroupXBundle. Seulement, voilà pour ce qui est de la gestion des routes, j'ai supprimé la partie ci-dessous du fichier app/config/routing.yml pour l'insérer dans chacun des fichiers de routage des bundles GroupeXBundle.

host: "{group}.{domain}" defaults: domain: %ex_domain% requirements: domain: "%ex_domain%" group: 'groupX'

De façon à avoir ceci dans les fichiers routing.yml des bundles GroupeXBundle :

ex_groupX_untest: path: /un-test host: "{group}.{domain}" defaults: { _controller: EXGroupXBundle:Default:untest } domain: %ex_domain% requirements: domain: "%ex_domain%" group: 'GroupX'

Comme résultat, l'Exception suivante est retounée :

Fatal error: Uncaught exception 'Symfony\Component\Yaml\Exception\ParseException' with message 'Unable to parse at line 15 (near " domain: %ex_domain%").' in C:\nom_projet\projet_symfony2\app\cache\dev\classes.php on line 6088

Ce qui n'a probablement rien à avoir avec le répertoire /app/cache, car j'ai déjà eu à corriger une telle erreur dans une situation similaire en corrigeant tout juste les fautes de saisie. Dans la situation présente, en revanche, il n'y a aucune erreur de saisie.

Une suggestion, s'il vous plaît ? Y a-t-il une meilleure approche pour arriver à mes fins ?

Merci d'avance.

4 réponses

iiNku, il y a 11 ans
php app/console cache:clear ?
Patrick Bass, il y a 11 ans

Merci pour ta réponse. Idem après avoir vider le cache.

romainfan, il y a 11 ans

Bonjour.
Je pense qu'il y a une erreur dans cette partie-là :

ex_groupX_untest: path: /un-test host: "{group}.{domain}" defaults: { _controller: EXGroupXBundle:Default:untest } domain: %ex_domain% requirements: domain: "%ex_domain%" group: 'GroupX'

Ta déclaration de domain ne devrait-il pas être dans le tableau defaults ?
Ce qui donnerait :

defaults: { _controller: EXGroupXBundle:Default:untest, domain: "%ex_domain%"}
Patrick Bass, il y a 11 ans

Merci romainfan, ton intervention résout mon problème !