![]() ![]() |
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 ? |
|
|
|
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
|
|
|
|
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 |
|
|
|
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ł ? |
|
|
|
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 12:47 |