Wpis z mikrobloga

Ostatnio dostałem projekt w #symfony2, w którym encje wyglądają tak: HomePage, AboutUsPage, ContactUsPage, PricingPage itp.
Co za tym idzie w bazie danych jest kilka wielokolumnowych tabel zawierających po jednym rekordzie.
Czy to normalny i szanowany sposób tworzenia aplikacji w #symfony? #php
  • 21
  • Odpowiedz
@matiit: a czy jest to chociaż sposób typu "zbytnio się nie powinno, ale ewentualnie można"?
Bo mam zrobić inny projekt na bazie tego, a nie chcę napisać tego źle.
Programista tłumaczył się tym, że to mały projekt, który nie będzie rozwijany.
  • Odpowiedz
@matiit: @JackBauer: no dobra... Czyli załóżmy, że zrobię jedną encję "Page" i wtedy pojawi się problem z różnym typem danych na poszczególnych stronach. Np. na jednej mam zwykły blok html, na drugiej kilka zakładek z treścią, na trzeciej kolekcję placówek itd. Jak wtedy ogarnąć strukturę tabeli?
  • Odpowiedz
@DiKey: To już musisz sam sobie wymyślić, bo nie wiem jakie konkretnie masz wszystkie podstrony. Najprościej wszystko wrzucić do "bloku HTML", ale do stworzenia zakładek z treścią możesz dać dodatkowe pole grupujące wiele stron. Można też stworzyć tabelę z "kategoriami" mapującymi wiele typów treści.

Ale takie proste informacje o placówkach to zwykle robi się jako sformatowany tekst, nie ma sensu tym jakoś oddzielnie zarządzać, skoro wszystko można prosto zmienić przez
  • Odpowiedz
Ale takie proste informacje o placówkach to zwykle robi się jako sformatowany tekst, nie ma sensu tym jakoś oddzielnie zarządzać, skoro wszystko można prosto zmienić przez edytor WYSIWYG.


@JackBauer: no właśnie to musi być encja, bo potem dochodzą do tego relacje i wyświetlanie w wielu miejscach różnych danych o placówkach.
  • Odpowiedz
@handler: nie mam teraz dostępu do repo :P Z takich rzeczy to jeszcze widziałem w jednym miejscu wykonywanie kilkunastu zapytań przez DQLa, ale nie wnikałem w to bardziej i po prostu utworzyłem nowy projekt ( ͡ ͜ʖ ͡)
  • Odpowiedz
@DiKey: Jak robisz prosty pojekt typowej stronki biznesowej to po co Ci fw? Użyj CMSa – do tego właśnie służą – systemy zarządzania treścią.

A jak chcesz wymyślać swojego CMSa, to zobacz jak one są zbudowane, żeby umożliwić elastyczną strukturę treści.
  • Odpowiedz
@DiKey: To poszukaj bundli co mają takie rzeczy gotowe (hint: CMF ma ich sporo, które można używać niezależnie).

Tak czy siak: jedno–rekordowe tabele (raczej) nie mają sensu – ale jeśli działa, to w czym problem?

Zaczynając od bazki zaczynasz od dupy strony – może w ogóle takich rzeczy nie ma sensu trzymać w bazkach relacyjnych? A może lepiej sobie zapisywać każdą stronę jako zwykły plik txt/html/markdown na
  • Odpowiedz
@MacDada: Ale serio wyskakujesz z jakimś pseudo DDD, kiedy gościu na 90% chce statyczną stronkę, maksymalnie cruda? xD Po nazwach encji wnioskuję, że używanie symfony2 do tego co chce autor to jak strzelanie z armaty do much. Może łatwiej byłoby jakiegoś wordpressa postawić? Albo jeszcze lepiej jakbyś napisał co dokładnie chcesz osiągnąć.
  • Odpowiedz
Ale serio wyskakujesz z jakimś pseudo DDD, kiedy gościu na 90% chce statyczną stronkę, maksymalnie cruda? xD


@Atomic_Cookie: Nie. Sugeruję, żeby użył CMSa. Bo jeśli siądzie i zacznie projektować model, to:

a.) okaże się, że to ważna część jego kodu – więc z dupy zaczyna projektowanie pytając o bazkę zamiast o appkę,
b.) okaże się zabawą niewartą świeczki => i lepiej użyć CMSa zamiast wynajdować koło na nowo ;-)
  • Odpowiedz
@MacDada: je chcę tylko zrobić prostą stronkę na symfony, a Ty mi piszesz elaborat o sensie życia xD
@Atomic_Cookie: dynamiczne menu, dynamiczne podstrony, asynchroniczne formularze, znajdowanie placówek na mapie google, wszystko edytowane w sonacie - to tak trochę średnio z tą statycznością.
  • Odpowiedz
je chcę tylko zrobić prostą stronkę na symfony


@DiKey: To jest niekompatybilne z tym co napisałeś wcześniej:

Czy to normalny i szanowany sposób tworzenia
  • Odpowiedz
Bo jeśli robisz „prostą stronkę”, to po co pytasz się czy robisz to dobrze?


@MacDada: bo nie chcę sobie utrwalać złych wzorców? Po co robić coś źle, skoro można dobrze? Bez sensu pytanie.
  • Odpowiedz
@DiKey: Dobra, więc jeśli faktycznie pytasz jak „zrobić to dobrze”, to tak jak pisałem wcześniej, Symfony nie ma (aż takiego) znaczenia: Twoim zadaniem z dziedziny architektury oprogramowania jest:

* zidentyfikować potrzeby klienta
* opisać te potrzeby za pomocą kodu (model, use case'y)
* dorobić szczegóły techniczne jak persystencja czy UI (widoki, routing, etc – to „tylko” warstwa
  • Odpowiedz