Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Projekt a Bundle
Forum PHP.pl > Forum > PHP > Frameworki
bambam
Witam ponownie.

Może i komuś wyda się to głupie ale zastanawia mnie struktura projektu w Symfony 2.
Zaczalem dzisiaj zabawe z tym frameworkiem i nasuwa mi sie pytanie.

Czy kazdy modul np. Category mam robic jako osobny Bundle ? i tak analogicznie UsersBundle, PostBundle, ImageBundle ?

Czy w jednym Bundle zrobic wszystkie te moduly czyli zamknąć projekt w jednym bundle: DemoBundle/Controller/ i tutaj:

UserController.php, PostController.php, ImageController.php



Ogolnie pytanie tyczy sie tego czy projekt ma byc zrobiony jako jeden Bundle i tam cala struktura aplikacji ma sie zawierac czy poprostu Bundle odzwierciedla jeden modul w projekcie odpowiedzialny za konkretną rzecz.

Z góry dziękuję za pomoc i sugestie.
peter13135
Granica jest tutaj płynna. Jeśli robiłbyś forum dyskusyjne, to mógłbyś to rozbić na 2 bundle. np.
a)panel admina
b)panel użytkownika (tzn. wszystko to, do czego dostęp ma user, czyli wyświetlanie forów, postów, tematów, ostrzeżeń userów, edycja usera itp).

Jeśli jednak liczba kontrolerów w bundlu przekraczała by 20, warto by rozdzielić tego bundla na 2 bundle. Czyli punkt b, można by rozdzielić na dwa bundle typu:
1. Edycja uzyszkodnika (przypomnienie hasła, edycja hasła, upload avatara, rangi, grupy itp.)
2. Całą reszta jak wyświetlanie forów, tematów, postów.

Takie moduły jak shoutbox mogłby by być nawet oddzielnymi bundlami. Ułatwiało by to uzycie go w innym projekcie.

Wszystko o czym tu napisałem nie zostało przetestowane przeze mnie. O taki sam problem pytałem programistę z którym pracowałem i napisałem tutaj to, co on mi powiedział wink.gif
netrat
Osobiście sugerowałbym podzielenie na bundle, dlatego że trochę łatwiej to się czyta i trochę łatwiej odnaleźć się w strukturze katalogów i wyszukać interesujący nas plik (zwłaszcza jeśli dojdziesz to robienia widoków). Poza tym wygląda to jakoś schludniej wink.gif
Moja propozycja:
UserBundle
AdminBundle
FormBundle , czyli tak jak sugerował peter13135 tylko nie czekałbym aż liczba kontrolerów przekroczy 20 wink.gif
skowron-line
Tak jak koledzy wyżej napisali z tym że jedna podpowiedz, grupuj pokrewne funkcjonalności
np
UserBundle
- obsluga usera
- obsluga grup usera
- obsluga logowania
- obsluga logów usera

i inne
bambam
Dziękuje za podpowiedź, mam jeszcze jedno pytanie.
Jak najlepiej tworzyc baze danych do projektu ? Niebardzo rozumiem tej ideologii "doctrinowskich entity"
Mam przygotowany widok bazy w Mysql Workbenchu, jak przelozyc to na Doctrina w najlepszy sposob ?
Wiem ze móglbym zrobic to klasycznie czyli tworzyć tabele za pomocą sql ale chciałbym zrozumiec jak robic to poprzez konsole + Entity files.
Właściwie interesuje mnie jak wy to robicie przy projektach ? i jaki jest najlepszy sposób na to jesli chodzi o SF2 : >

netrat
Generalnie jest kilka możliwości
1) http://zechim.com/blog/2012/05/07/reverse-...ith-annotation/
2) https://github.com/johmue/mysql-workbench-schema-exporter
tak więc wybierz te które Tobie odpowiada. A czego nei rozumiesz w ideologii "doctrinowskich entity"?
Ot takie mapowanie tabelek na obiekty smile.gif
bambam
jeszcze jedno pytanie, stworzyle msobie template rozdzielilem go na kilka plikow

i teraz kiedy ustawiam w routingu dla bundle

MindMindBundle_category:
pattern: /category
defaults: { _controller: MindMindBundle:Categories:index }


nie ma problemu z wyswietlaniem template.

jendkaze kiedy dodam slugi

MindMindBundle_category:
pattern: /category/{slug}/{slug}
defaults: { _controller: MindMindBundle:Categories:index }


zaczyanaja sie problemy, nie wyswietlaja sie obrazki , zauwazylem ze gdy zmienie sciezke dla obrazka czyli dodam ../../images/gif.png, wtedy sie wyswietli

kiedy jest dodany jeden slug wystarczy zmienic na ../images/gif.png, czyli analogicznie im wiecej dodam slugow tym wiecej musze dodac ../ do sciezki.

Dlaczego tak jest ?


z gory dziekuej za pomoc

netrat
To już chyba nie do końca temat na to pytanie, ale spróbuj wstawić
<img src="/images/gif.png" />
czyli zacznij sobie od slasha i daj ściezkę bezwzględnie albo użyj assetsów np {{ asset('bundles/sferauser/images/empty_avatar.jpg') }}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.