Je suis également novice en matière de Symfony et je suivrai les résultats de cette question avec intérêt, mais pour ce que cela vaut, voici mon point de vue :
Un bundle n'est rien d'autre qu'un groupe de fichiers, de ressources, de classes et de méthodes PHP, de tests, etc. La logique du regroupement peut être ce que vous voulez. Dans certains cas, il est vraiment évident de savoir ce qu'est le regroupement et pourquoi il a été fait - par exemple, si j'ai écrit un système de blog pour Symfony2 et que je voulais le publier, je le ferais dans un bundle. C'est le type d'exemple le plus utilisé dans la documentation.
Mais vous utiliseriez aussi les bundles pour tout ce que vous voulez publier comme une petite fonctionnalité. Disons par exemple, ce forfait qui crée des routes par défaut pour tous vos contrôleurs. Ce n'est pas un plugin ou une fonctionnalité entièrement développé(e) comme un blog ou un forum, mais c'est un bout de code que je peux facilement importer dans mon projet, il reste totalement séparé de tout le reste, c'est un paquet.
Enfin, vous pouvez également utiliser les bundles en interne dans votre projet, de la manière qui vous semble la plus logique.
Mon point de vue sur votre situation spécifique :
Rapide et facile :
-
MySite\MyCode
-- fait le travail, et peut-être n'avez-vous pas de moyen logique de décomposer le code que vous allez écrire.
S'il y a des caractéristiques uniques entre les deux sites et que vous voulez les séparer pour plus de clarté :
MySite\SharedFeatures
MySite\Site1Features
MySite\Site2Features
Si vous aimez vraiment que tout soit à sa place, ou si vous avez un projet complexe, peut-être :
-
MySite\MySiteMain
(fonctions partagées et informations diverses qui ne méritent pas d'être regroupées)
MySite\News
MySite\Site1FeatureSomethingOrOther
MySite\Site2FeatureSomethingOrOther
Je pense vraiment que vous voulez vous en tenir à des groupes logiques de code -- donc je pense que ton exemple "regroupe Site1 \News et Site2 \News "et "MySite \Site1News et MySite \Site2News "ne serait pas la meilleure façon de procéder. Site1 et Site2 sont des implémentations, donc faire un paquet séparé pour la page de nouvelles de chaque site me semblerait contre-productif ; vous voudriez faire un composant de nouvelles et le construire pour être utilisé de deux manières différentes.
Pour ce qui est de votre question sur les deux domaines, vous pouvez soit faire pointer les deux domaines vers le même code, et tester dans votre code le domaine demandé, soit vérifier deux copies du même code et modifier légèrement les fichiers de configuration (cela ne va pas nécessairement à l'encontre de l'idée de SEC parce que vous devez toujours modifier le code à un endroit, puis mettre à jour les deux copies).