Bonjour,
Je suis débutant sous Symfony2. Je vais débuter un gros projet qui risque d'évoluer avec le temps et j'aimerai donc partir sur de bonnes bases.
Comme pas mal de gens, je me pose un certain nombre de question sur le découpage des projets en bundle. J'ai déjà lu plusieurs post sur ce sujet sur ce forum mais cela reste assez abstrait pour moi et le "un bundle par fonctionnalité" ne m'aide pas beaucoup.
J'ai lu ici (slide 16) :
Symfony2: 30 astuces et bonnes pratiques@@AMEPARAM@@ssplayer2.swf?doc=presentation2-110306052705-phpapp01&stripped_title=symfony2-30-astuces-et-bonnes-pratiques@@AMEPARAM@@presentation2-110306052705-phpapp01@@AMEPARAM@@symfony2-30-astuces-et-bonnes-pratiques
une manière de fonctionner où les entités et les forms par exemples sont en dehors des bundles. Qu'en pensez-vous ? Quels sont selon vous les avantages de procéder de cette manière ? (j'ai essayé de placer une entité en dehors d'un bundle comme dans l'exemple sur le slide mais je n'arrive pas à créer une instance de cette entité dans un de mes contrôleur...)
Pour en revenir à mon projet (mais c'est une structure courante qui peut intéresser la plupart des gens), il y aura un backend complexe ainsi qu'un frontend plus simple. En très très gros, il devra gérer des produits et des clients qui peuvent acheter ces produits.
Je suis parti pour l'instant sur l'idée de faire un BackendBundle et un FrontendBundle (chacun avec son propre layout) et des ProduitBundle, ClientBundle... que j'utiliserai dans mes bundle back et front. Dans ce cas, mes bundle Produit/Client contiendrait à la fois les fontionnalités pour le back et le front mais cela me fait un peu bizarre de mélanger les affichages pour les deux environnements (ou c'est normal ?). Notez que la ré utilisabilité m'importe peu pour un projet de cette taille.
D'autre part, mes produits sont rattachés à des catégories et sous catégorie. Je pense que ces entités de catégories devraient faire partie du bundle Produit. Par contre, ils sont aussi rattachés à un "service". Cette entité "service" n'est pas intimement liée aux produits et sera certainement réutilisé ailleurs. Je devrais donc faire un ServiceBundle ? C'est ce que je pense mais j'ai l'impression d'aller de plus en plus vers le schéma "une entité => un bundle" et je ne pense pas que ça soit correct.
En définitive, ne serait il pas judicieux de sortir les entités en dehors des bundles et de créer ensuite un ProduitFrontBundle et un ProduitBackBundle qui réutilisent cette entité ?
Je me rends compte que j'ai déjà écrit beaucoup de blabla sans être très précis, comme vous le voyez peut-être, je me cherche encore... Merci à ceux qui m'ont lu jusqu'ici !
Une idée ? Un exemple de code pour utiliser des entités en dehors des bundles ? Cela vous parait-il judicieux ?
Merci à ceux qui pourront faire avancer mon schmilblick![]()
Partager