Dobra, dostałem tutaj pomysł ciekawy od MistrzuDragona i chciałbym się Was zapytać. Żeby wysyć formularze html do bazy danych muszę mieć oczywiście MySQL tak?
Wersja do druku
Dobra, dostałem tutaj pomysł ciekawy od MistrzuDragona i chciałbym się Was zapytać. Żeby wysyć formularze html do bazy danych muszę mieć oczywiście MySQL tak?
tytuł obrabiam w kontrolerze, ale ta pętla to albo w kontrolerze mam część widoku albo w widoku mam pętle do wyświetlenia tablicy: i tak źle i tak niedobrze bo założenia szlag trafia
Wprowadzasz ViewModel, MVC to kupa w świecie web.
@edit
"tytuł obrabiam w kontrolerze, ale ta pętla to albo w kontrolerze mam część widoku albo w widoku mam pętle do wyświetlenia tablicy: i tak źle i tak niedobrze bo założenia szlag trafia "
Czemu coś co jest związane z logiką wyświetlania obrabiasz w kontrolerze?
Ale pętla to już logika, kontrola, nie widok. Po prostu to nie będzie działać zgodnie z założeniami, jest to niewykonalne
zależy jaki etap też, ostateczne stylowanie to zabawa dla widoku, ale upewnić się, że nic dziwnego nie ma w tym stringu wolałbym wcześniej
Zdefiniuj "lepsze"
Zależy od zastosowania, jak sam klepiesz stronę to męczenie się ze smarty czy czymkolwiek innym jest bez sensu, każdy dodatkowy parser to overhead, a parser napisany w języku interpretowanym to dość kiepski pomysł.
Ja się zastanawiałem, czy ktoś może jednak znalazł jakiś magiczny sposób na to, jeśli nie to ja na razie podziękuję. Idea jest dobra, ale w momencie gdy twórca zdaje sobie sprawę, że się nie da powinien porzucić projekt, a nie pisać "nowe php"
(teoretycznie możnaby podzielić stronę na klocki i wklejać odpowiednią liczbę razy dany klocek obsłużony tak, jak należy obsługiwać templaty do "content" i by coś z tego wyszło, ale to tylko komplikuje sprawę)
Co myślicie o ROR? Ruby on Rails?
Kontroler ma za zadanie kontrolować workflow ( w ujęciu MVC , that is ) . Dodajesz mu dodatkową odpowiedzialność poprzez wstawianie do niego kodu odpowiedzialnego za widok. ;p
@edit
I mylisz pojęcia. View to widok, który zawiera w sobie LOGIKĘ wyświetlania widoku. To o czym mówisz to szablon.
Ja generalnie w swoich projektach stosuje architekturę cebulową + DDD i sprawdza się swietnie. Przykładowy request dla pobrania listy blogów:
( W nawiasie piszę co konkretnie klasa robi ):
index.php ->
DI::createRouter() ( tworzę router z kontenera DI ) ->
Router::createRouteFor(IRequest $request) ( produkuję instancję interfejsu IRoute ) ->
DI::createController(IRoute $route) ( zwracam kontroler do obsługi żądania, wraz z zależnościami IListApplicationService $service który jest serwisem aplikacji oraz IRequest $request, czyli instancja requestu ) ->
ShowListController::run() ( mapuje request, czyli parametry GET/POST/COOKIE i tak dalej na konkretne zapytanie do API aplikacji ) ->
GetBlogListApplicationService::getList($offset,$li mit) ( API dla zwracania listy blogów ) ->
BlogRepository::getRange($offset,$limit) ( Tworzy ogólny request do repozytorium danych ) ->
DataRepository::find($constraints) ( Na podstawie zadanych warunków z API repozytorium ustala czy dane są może w keszu aplikacji bądź w 3rd party keszu [ memcache np ] , jeśli nie - tworzy konkretne zapytanie, a z wyników tworzy obiekty domenowe ) ->
DatabaseManager::runQuery($query) ( Ustala odpowiednią instancję do której zapytanie powinno być skierowane, przydatne, kiedy masz wiele milionów rekordów i na podstawie metadanych zapytania ( typ zapytania, jakiś konkretny warunek potrzebujesz wywołać je z góry na określonym serwerze/grupie serwerów ) ->
IDatabaseAccessLayer::query($query) ( Zapytanie do bazy i zwrot wyników ) ->
ShowListController::run() ( Wracamy spowrotem do kontrolera z zdobytymi danymi z service API , to ogółem jest to samo wywołanie co wyżej tylko napisałem je aby było wiadomo, że wróciliśmy do tego punktu :D ) ->
BlogListView::render($data) ( renderuje dane )
index.php ( z kontrolera mamy wyrenderowane dane o blogach ) ->
robimy co chcemy ( dekorujemy layoutem statycznym, dekorujemy innymi wywołaniami kontrolerów, w/e )
@edit2
i żeby nei było, to są calle dynamiczne a nie statyczne, żeby jakis geniusz nie wyleciał mi zaraz xDD
to teraz pytanie ode mnie:
jakie są najpopularniejsze/najczęściej uzywane wzorce projektowe w C#?