Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP]Generowanie "statycznych" podstron przez PHP, poprawnie?
Yassate
post 25.08.2012, 15:39:39
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.08.2012

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
lobopol
post 25.08.2012, 16:29:54
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
cv65
post 25.08.2012, 17:53:30
Post #3





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 12.04.2009

Ostrzeżenie: (20%)
X----


Możesz cachować zapytanie sql np przez memcached, jeśli nie masz pojęcia o symfonach smile.gif
Bardzo wygodne i optymalne smile.gif
Go to the top of the page
+Quote Post
Yassate
post 25.08.2012, 19:38:12
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.08.2012

Ostrzeżenie: (0%)
-----


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ę?
Go to the top of the page
+Quote Post
lobopol
post 25.08.2012, 20:08:10
Post #5





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

Ostrzeżenie: (0%)
-----


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ę.

Ten post edytował lobopol 25.08.2012, 20:13:10


--------------------
Go to the top of the page
+Quote Post
Yassate
post 26.08.2012, 13:48:26
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 3.08.2012

Ostrzeżenie: (0%)
-----


Dobra, już wszystko wiem, dzięki wielkie! Poleciało "pomógł" : D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 13:01