2010-02-07 5 views
2

J'ai trop de modules dans mon application. Actuellement, mes modules ont un espace de nommage, mais ce que je voudrais faire, c'est avoir une structure de répertoire pour que je puisse me débarrasser de cet espace de noms redondant et ennuyeux.gestion de module symfony

Par exemple, pour les modules nommés « xModule1, xModule2, xModule3 », je voudrais avoir une structure de répertoire comme celui-ci:

-x 
    -module1 
    -actions and templates 
    -module2 
    -actions and templates 
    -module3 
    - actions and templates 

Car les développeurs de symfony savent que les gens aimeraient utiliser leur cadre pour développer de grandes applications. Alors, comment l'organisation du module est-elle faite? J'ai fait beaucoup de travail dans Java/Spring, et comme la source est analysée par composant, vous pouvez organiser vos contrôleurs et vos fichiers jsp dans des hiérarchies bien organisées. Est-ce que c'est en quelque sorte possible avec Symfony?

+0

déjà comment Symfony fonctionne avec les modules: /apps/appname/modules/module1/(actions | templates) /apps/appname/modules/module2/(actions | modèles) /apps/appname/modules/module3/(actions | templates) Que demandez-vous de faire différemment? – Tyson

Répondre

2

Non, ce n'est pas possible avec Symfony. La structure de vos modules et de leurs actions et modèles est prévue dans une configuration de système de fichiers fixe et je n'ai rien entendu à ce sujet.

J'ai rencontré le même problème que celui où un très grand site se retrouve avec plus de 30 modules dans une seule application. Au début, cela semblait lourd, mais après un certain temps, j'ai trouvé que le seul endroit où chercher un module spécifique était bénéfique au lieu d'avoir à deviner les sous-structures jusqu'à ce que j'obtienne ce que je recherchais. Voir cette structure croître et grandir me pousse aussi à respecter l'ajout de nouveaux modules seulement quand c'est absolument nécessaire, à plier de nouvelles fonctionnalités dans les modules existants et à refactoriser les modules existants pour travailler avec de nouvelles améliorations chaque fois que possible. Cependant, Symfony a des fonctions de chargement automatique qui fonctionneront pour les dossiers de votre bibliothèque, ce qui vous permet d'avoir lib/one/two/three/Object.class.php ou toute autre structure qui vous convient.

+0

suce, mais semble être le consensus.J'espère que Fabien aura quelque chose pour nous dans v2 +. Merci pour la réponse! –

0

Si vous avez tellement de modules, vous pourriez envisager de déplacer certaines fonctionnalités dans des plugins (c'est-à-dire créer vos propres plugins).
L'avantage est que vous pouvez utiliser cette fonctionnalité également dans d'autres projets.

Ou vous pouvez regrouper vos modules dans des applications. Vous pouvez avoir autant d'applications que vous le souhaitez, non seulement backend et frontend.

+0

c'est difficile de relier entre les applications. Aussi, je n'ai pas vraiment besoin de cette fonctionnalité dans d'autres projets. J'ai juste une application qui est vraiment complexe. –

0

Je me suis posé la même question, d'autant plus que de nombreux fichiers de configuration doivent être définis au niveau de l'application ou au niveau du module individuel. Il pourrait être utile de pouvoir cascader des configurations vers un ensemble de modules.

Comme mentionné ci-dessus, il semble que les solutions disponibles sont:

  • affaire avec beaucoup de modules
  • créer des applications distinctes (ce qui permettra de créer une duplication wieldy)
  • Refactoriser vos modules à être aussi efficace comme pratique (par exemple plusieurs contrôleurs & vues par module)
Questions connexes