Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Generowanie "statycznych" podstron przez PHP, poprawnie?
Forum PHP.pl > Forum > Przedszkole
Yassate
Witam!
Sprawa wyglada tak, że chcę zrobić stronę z edytowanymi przez użytkowników wpisami dodawanymi do bazy danych, możliwymi do odczytania na stronach, na których znajduje się kilka wpisów wybranych według jakiegoś klucza , ale mam kilka wątpliwości co do sposobu w jaki mam to wykonać.

Pytanie jest takie: czy lepiej jest robić podstrony .php, które pobierają treść na bieżąco z bazy danych (tutaj pytanie o wydajność przy wielu odsłonach), czy może przy dodaniu pierwszego wpisu robić statyczną stronę z rozszerzeniem .html i po prostu po każdej edycji nadpisywać ten plik za pomocą php (nowy plik będzie zawierał nowy wpis)?

Drugie rozwiązanie wydaje mi się szybsze, ze względu na to, że php będzie używany tylko przy zapisywaniu, nie zaś przy odczytywaniu (użytkownik będzie pobierał już gotowy do wyświetlenia plik html), ale czy będzie to profesjonalne; czy tak się robi?
Dopiero się uczę tworzenia stron i zależy mi na wyrobieniu dobrych nawyków noi chcę się dowiedzieć jak wy stworzylibyście taką stronę i czy warto tak kombinować by zyskać na wydajności (o ile w ogóle).

Proszę o w miarę szybką odpowiedź tongue.gif
lobopol
Polecam raczej pierwszą opcje z użyciem np. varnisha, polecam użyć jakiegoś frameworka np. symfony 2 w którym cacheowanie stron masz bardzo sensownie przemyślane
cv65
Możesz cachować zapytanie sql np przez memcached, jeśli nie masz pojęcia o symfonach smile.gif
Bardzo wygodne i optymalne smile.gif
Yassate
Okej, dzięki za odpowiedzi :]
Czyli proponujecie rozwiązanie pierwsze "po tuningu" przez cache'owanie, a czy możecie mi z ciekawości powiedzieć czy drugie rozwiązanie podane przeze mnie sie w ogole stosuje? Czy jest np niebezpieczne, trudne do edycji albo po prostu za duzo przy nim roboty? biggrin.gif

A i jeszcze jedno, rozumiem że jeżeli będzie kilka wpisów na stronie + jakiś nowy i te starsze będa wcześniej wrzucone w cache, to po prostu pobierze je szybko, a ten dodatkowy pobierze łącząc się z bazą danych? Dobrze myślę?
lobopol
2 jest na pewno bardziej problematyczne przy edycji, a przy większej ilości stron również przy przechowywaniu. Ba w sytuacji gdy np. zmieniasz wygląd na stronie musisz pokasować wszystkie stare pliki i na nowo generować ogólnie to jest bardzo duże utrudnienie i zysk (właściwie żaden jeżeli używasz cacheowania) wydajności jest w praktyce niezauważalny.

Z cachem(mowa o memcache varnishe nieco ciężej wytłumaczyć( jest tak ustawiasz mu czas życia dajmy na to 10 minut i ustawiasz pod jakimś kluczem daną stronę, masz jakiś skrypt (z tego co się orientuje to można po stronie serwera ograć) który sprawdza czy w cache jest dany klucz jeżeli tak to zwracamy całą zawartość, jeżeli nie ma go w cache to generujemy stronę w locie, zapisujemy do cache i zwracamy wynik. Podczas edycji możemy po jej zakończeniu usunąć klucz z cache-a i następne żądanie do serwera ponownie wygeneruje stronę.
Yassate
Dobra, już wszystko wiem, dzięki wielkie! Poleciało "pomógł" : D
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.