Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Prosty system cachujący i problem z wstawieniem kodu php
maniek99
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 22.03.2013

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


Witam,

Stronę główną serwisu w php, cachuje w taki sposób, że co 3 minuty cron ją wywołuje i wynik zapisuje jako index.php.
Niestety, jest to w tym wypadku statyczna strona i założmy zalogowany user po przejściu na strone główna nie zobaczy menu dla zalogowanego,
tylko formularz logowania.

Nie mogę nie cachować, tej strony, bo jest tam multum zapytań do bazy i w ten sposób, strona bardzo wolno się ładuje.

Chciałbym aby cześć kodu php, ze strony głównej (która jest potem cachowana) zamiast się wykonywać, po prostu została wyświetlona jako tekst.
dzięki temu, po skaszowaniu w wynikowym kodzie, opróćz statycznych elementów, znajdzie się też kod php z wersji oryginalnej.

Próbowałem to zrobić w ten sposób, że interesujący mnie kod php zapisywałem do stringa:

$p='<? kod php ?>';

No ale co dalej ?
Jak to wyświetlić teraz, żeby w skaszowanej wersji strony pojawił się ten kod php ?



Go to the top of the page
+Quote Post
Wazniak96
post
Post #2





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

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


Chodzi Ci o przeparsowanie kodu php ze zmiennej? Jeżeli tak to eval
Go to the top of the page
+Quote Post
Michael2318
post
Post #3





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

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


Podczas cachowania dane należy serializować (serialize i unserialize).

Ten post edytował Michael2318 27.03.2013, 15:35:46
Go to the top of the page
+Quote Post
maniek99
post
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 22.03.2013

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


No ok, ale jak mam serializować sporą część kodu ? Przecież nie przypisze tego wszystkiego do jakiejś zmiennej. Musiał bym to robić kawałek, po kawałku...\
Chodzi mi o szybkie uzyskanie efektu bez takich zabaw.

Chyba najlepiej jak interesującą mnie cześć kodu php zostawie w oryginalnym pliku w postaci tekstowej, obejme to w klamry {{ długi kod php }}, a następnie
przetworze to w pliku wynikowym za pomocą buforowania, na wykonywalną wersję.

A może ktoś ma jeszcze jakiś inny pomysł ?
Go to the top of the page
+Quote Post
!*!
post
Post #5





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


1. do cache lecą np. zapytania baz danych, zwracany json, a nie kod PHP i nie zawsze musisz je serializować (zależne od danych).
2. możesz zapisywać bufor wynikowy ob-flush itp. aby nie wykonywać tych samych operacji wiele razy np. parsowanie szablonu

Ten post edytował !*! 27.03.2013, 17:21:10
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.12.2025 - 12:47