-
Découpage en bundle
Bonjour à tous,
Tout d'abord, je précise que je débute avec Symfony2.
Mon objectif est de migrer mon site qui est en PHP procédural vers une structure plus professionnelle en POO avec S2 donc..
Ma question est : comment bien définir la découpe des bundles ?
Description du site : c'est un site de jeu de foot et de cartes, dans lequel chaque membre possède plusieurs cartes joueurs, qu'il assemble dans une équipe et défie les autres membres (entre autres).
Dans ce cas, faut-il 2 bundles "Membre" et "Cartes" ou un seul bundle ? Y a-t-il des procédures types pour la découpe en bundle d'un site ?
Merci de votre aide :)
-
en Symfony : un bundle = une fonctionnalité
après si ce n'est pas des fonctionnalités que tu va réutilisés pour d'autres sites web.
ce que je fais c'est du classement : un bundle = un thème
comme ça tout est bien ordonné et je sais ou aller ....
Il n'y a pas vraiment de procédure type juste du bon sens ...
de plus, pour info je regroupe toutes mes entités dans un seul bundle et mes autres bundles s'y référent.
-
Merci de ta réponse.
Mais c'est là qu'est le flou pour moi : qu'est-ce qu'une fonctionnalité ?
Car, on a souvent un bundle "Membres", mais que doit regrouper ce bundle ? Uniquement sign up, sign in, sign out ? Ou plus ?
C'est peu probable que je réutilise ces bundles ailleurs, mais pas impossible :)
-
une fonctionnalité peut être quelque chose de simple, comme une recherche, un paginateur, un système de messagerie interne......
ou de plus complexe, toute la gestion d'un système de sécurité login, enregistrement, mot de passe oublié ....
à savoir, pour ce dernier il existe FoSUserBundle que tout le monde utilise et c'est le bundle numéro 1 !!!
complet et facile à integrer...
-
Thanks.
Dans mon cas, est-ce qu'une découpe :
- user
- jeu individuel
- jeu collectif (plusieurs membres se groupent pour jouer - sorte de guilde)
- mini-jeux
- boutique cadeaux
est quelque chose de logique ? Ou je passe à côté de quelque chose ? :D
-
je n'ai pas toutes les données mais cela semble bien. à toi de bien réfléchir.
si tu as des fonctions communes entre les bundles, utilise des services pour factoriser ton code.
c'est facile à utiliser et puissant ....
-
Merci, je note.
Encore une question : la page d'accueil du site, habituellement, on a un bundle à part, ou on la bourre dans un autre ?? :D
-
c'est vraiment comme tu veux. un bundle c'est un repertoire avec un namespace.
mais si ce n'est qu'une page tu le bourre quelques part lol
à savoir, étant donné que tu ne va pas réutiliser tes bundles pour d'autres sites tu peux faire aussi comme suis en 2 bundle :
userBundle
...
gameBundle
**controller
****jeuIndividuelController
****jeucollectifController
****MiniJeuController
****Cadeaucontroller
**ressources/views
****/jeuIndividuel/.... // les pages ....html.twig
****/jeucollectif/.... // les pages ....html.twig
****/MiniJeu/.... // les pages ....html.twig
****/Cadeau/... // les pages ....html.twig
vraiment, tu fais comme bon te semble, moi je préfère la 1ere solution. chacun fait comme il le sent...
-
Ok donc y a pas de vraies règles :)
Merci beaucoup pour ton aide en tous cas.
-
Un bundle est un code destiné à être réutilisé dans d'autres projets. Donc, à moins de faire des libs utilitaires destinées à être publiées, tu ne dois pas découper en bundles. Donc tu n'as besoin que d'un seul bundle qui comprendra le code ton appli. C'est la manière officiellement recommandée de structurer son application :
http://symfony.com/doc/current/best_...cation-bundles
Ensuite, si tu fais un gros site, tu peux répartir les contrôleurs etc. en différents sous-répertoires correspondant à tes "modules".
-
sauf pour fosUserbundle , t'es obligé d'avoir un bundle à part.
moi pour un back office par exemple je le sépare dans un autre bundle....