Wpis z mikrobloga

Kto pięć razy pisał aplikację i pięć razy była gotowa w 70%, ale stwierdzał, że kod brzydki i #!$%@?ł wszystko i pisał od nowa?


Stąd moje #pytaniedoeksperta - gdzie wsadzacie logikę swojej aplikacji?

Moja przykładowa metoda w kontrolerze - http://pastebin.com/59y2Htbp

Dawać wszystko do modelu? Czy model tylko operację na bazie i set/get a w kontrolerze operować samymi modelami? Czy dawać gdzie jest po prostu łatwiej?

Chciałbym wiedzieć jak robią to #pro, czekam na hejty i konstruktywną pomoc. Tak bardzo brakuje warstwy logiki w MVC ;__;

inb4 - czemu nie używasz Autha z laravela - raz zbugował mi się i nic nie działało, od tamtego czasu piszę samemu metody do logowania.

#laravel #webdev #pytanie
  • 11
@Irrepressible: Z tego co obejrzałem i wygooglowałem:

model (lub repository) - zawiera logikę niskiego poziomu (pobieranie z bazy danych, proste operacje na danych, walidacja)

service - zawiera logikę wysokiego poziomu i operuje na modelach.

Mylę się? W necie jest sporo sprzecznych informacji na ten temat.
Mały apdejt:

Model reprezentuje jedną tabelę / jakiś inny jeden rekord z innego źródła, jest izolowany, oprócz ORM, ma tylko metody dotyczące samego siebie

Kontroler - Steruje przepływem danych

Widok - Stricte to co dostaje użytkownik

Repository - gwarantuje takie same metody dostępu, gdy mamy różne źródła modeli (co w sumie przy laravelu nie jest potrzebne, biorąc pod uwagę samą bazę danych)

Service - Integruje ze sobą parę modelów w różny sposób,
@Atomic_Cookie: wiesz, ile osób, tyle opinii. są pewne, ogólne standardy i warto się ich trzymać, ale nikt ci głowy nie urwie, kiedy np. umieścisz coś w kontrolerze, co powinno być w modelu (dopóki dobrze działa :D). czytając o laravelu, natknąłem się na dość świeże pojęcie - logika biznesowa - więc ciężko jednoznacznie określić czy dany wzorzec jest poprawny, jeśli ciągle jest rozwijany