![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 6.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Ponieważ wcześniej pisałem tylko proste skrypciki, planuję pierwszą poważną aplikacje. Znam MVC i frameworki PHP (CodeIgniter, CakePHP). Jednak mam kilka pytań do zawodowców. 1.Frontend i Backend Jak je sensownie oddzielić? Mogę wszystkie akcje (czyli te zwykłe i dla admina) wrzucić do jednego kontrolera, ale trochę mi to nie pasuje. 2.Akcje dodawania i edycji rekordu Są podobne, formularze prawie identyczne. Nie chciałbym powielać kodu. Jak realizujecie to u siebie - dwie osobne metody czy jedna z odpowiednia wartością, np edit = 0 / 1 ? 3.Cache wiem, że po pewne dane nie ma sensu biegać do bazy, np ostatnie 10 artykułów/postów/komentarzy, itd - wystarczy sprawdzić czy są w cache, jeśli nie to wykonać zapytanie i wynik zapisać do pliku. Jeśli są to po prostu odczytać zawartość pliku. A co z pojedynczym rekordem i lista komentarzy pod spodem i liczba wszystkich np. newsów do paginacji - to tez zapisywać w cache? Zamiast czasu życia cache, myślę że lepsze będzie jego aktualizacja po wprowadzonych zmianach (dodaniu, aktualizacji czy usunięciu) - czyli tylko wtedy gdy zajdzie taka potrzeba. Czy jest to dobre podejście? Czy Backend aplikacji też cache`ujecie i używacie np. 2 różnych prefixów? Dziękuję za ewentualną pomoc. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
@Wazniak96: A co ma MVC do któregokolwiek z tych pytań?
@Pyton_000: Może chodzi o cache'owanie całych fragmentów HTML-a? Coś a'la ESI. Właściwie to @aras785 wyczerpał temat: - wspólna dla całej aplikacji warstwa logiki biznesowej oraz różne moduły/paczki/bundle/zwał-jak-zwał fragmenty aplikacji korzystające z niej, - tworzenie i edycja obiektów, powinny być raczej realizowane przez osobne akcje, ale mogą one wykorzystywać wspólny kod, np. formularza, - pamiętaj, że cache'ować powinno się raczej to co powoduje jakieś problemy z wydajnością czy stwarza wąskie gardła w systemie. Pobranie 10 ostatnich artykułów czy zliczenie ilości obiektów do paginacji nie będzie raczej czymś specjalnie kosztownym, ale to już zależy tylko i wyłącznie od Ciebie czy zdecydujesz się tam coś cache'ować i w jaki sposób będziesz to robić - ogólnie temat-rzeka. EDIT: @Pyton_000: Akurat cache całej strony czy gotowego fragmentu całej strony to bardzo dobre rozwiązanie bo pozwala na kompletne pominięcie procesu generowania strony - niestety często zwyczajnie w świecie nie da się z niego skorzystać. Ten post edytował Crozin 6.07.2014, 18:29:18 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 18:40 |