Bonjour à tous,
J'aimerais me former à l'utilisation de Symfony2. Cependant j'aimerais avoir vos avis sur la façon de développer un site web contient un back office en plus du font office.
Est-ce que lorsque vous développer un tel site avec ce framework, vous créer un bundle pour le back et l'autre pour le front ou est-ce que vous faite le tout en un seul et même bundle ou autrement ?
Le plus simple, si tu suis les best practices, est de tout faire dans AppBundle.
Sauf si tu comptes utiliser le bundle du front (ou back) dans un autre projet.
Quand tu genere un Bundle avec la console d synfony2, il le place dans le dossier src du framework, et ce bundle contient tout: controleur, modele, vue. Chaque bundle contient au sein d'un dossier le necessaire pour le back et les vues.
salut,
Je dirai que tout dépend de la grandeur de ton site.
si ton site est tout petit, pourquoi pas tout mettre dans un seul bundle, mais dans ce cas, je dirai que si c'est un petit site, il n'est pas la peine de sortir un framework tel que symfony.
Sinon si c'est un gros site, je te déconseille de tout mettre dans un même bundle car pour s'y retrouver c'est la merde.
Pour ma part, je découpe chaque parti de mon site en bundle et pour ce bundle, je met le back et le front.
Apres tu peux creer un controller admin et un controller front dans ce bundle, ce qui te permet de séparer les deux parties.
Exemple :
si j'ai une partie article sur mon site, je crée un ArticleBundle. Dans ce bundle, je retrouve tout ce qui concerne cette partie que ce soit front ou back.
Ainsi, le jour ou j'ai un soucis avec cette partie, je sais directement dans quel bundle me diriger.
ce n'est que mon avis mais je m'y retrouve beaucoup plus facilement a découper en bundle.
Exactement, les Bundle sont faits pour ca, tu regroupe chaque module de ton site dans un seul bundle qui contient le back et le font. Exemple un bundle qui gere les utilisateurs, un bundle pour votre blog etc...C'est plus facile de se retrouver comme le ditYentia.
Alors si t'as un grand projet, Symfony sera sans doute adapté.
Bonjour Shadow49,
Tu as plusieurs solutions et chacun préconisera celle avec laquelle il est le plus à l'aise.
J'ai deux solutions en tête, la première est de simplement créer des namespaces, autrement dit des Dossiers parents pour le front, et le back.
Dans le dossier Front, tu mettras tes bundles qui y sont liés, et idem pour le Back.
L'avantage est que tu te repères très vite visuellement puisque tes bundles sont bien séparés, ça me semble être une approche propre dans le sens ou tu gardes une organisation claire.
Tu as ensuite la solution proposée par Yentia, qui fonctionne tout à fait, le seul problème est que tu vas devoir nommé tes bundles avec "Front", "Back" dans le nom mais l'autre avantage est que si tu comptes réutiliser ce bundle ou encore mieux le partager à la communauté, tu pourras tout publier dans un seul bundle.
Il faut voir le but final de ton projet et selon tes préférences.