Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sparsowanie template i przypisanie do zmiennej
Forum PHP.pl > Forum > PHP
kulmen
Mój problem jest następujący. Mam zmienną, która jest dalej przekazywana do obróbki przez złożoną aplikację, której logiki nie mam czasu rozkminiać. Musze stworzyć coś w rodzaju pluginu, który wyniki swojego działania przekaże do zmiennej. Te wyniki działania to cały złożony template. Mógłbym oczywiście stosując dziesiątki konkatenacji stringów wypluwających html ze zmiennymi php uzyskać to o co mi chodzi. Ale taki sposob kodowania jest strasznie nieczytelny. Chciałbym to zrobić w cywilizowany sposób czyli:

template:
  1. <znacznik_html><?php echo $zmienna_php ?></znacznik_html>
  2. <znacznik_html><?php echo $zmienna_php2 ?></znacznik_html>
  3. ......


I ten template pobrać, sparsować do stringa i przekazać do zmiennej. Czy taki bajer jest w ogóle wykonalny? Próbuje rzeźbić z file_get_contents i eval, ale jak na razie nie udało mi się osiągnąć tego co chce.
!*!
Chodzi Ci o zapisanie wyniku? ob_get_clean()
kulmen
No chyba nie do końca. Nie wiem czy w aplikacji jest włączone buforowanie treści czy nie, a jeśli tak to czy aplikacja coś zdąrzyła wypluć na output buffer przed moim kodem czy nie. Nie mogę robić żadnych operacji na buforowanej treści bo nie wiem czy to nie wykrzaczy działania całej aplikacji, a właściwie to wielu aplikacji bo to zaplecze seo czyli dziesiątki (setki) domen, a na każdej aplikacja, która na ogół jest, ale wcale nie musi być tak samo skonfigurowana. Potrzebuje kodu który pobierze plik templatu, wywoła na nim interpreter php i wynik w postaci stringa, ze sparsowanymi już zmiennymi z tempate przypisze do zmiennej. Kodu, który jest całkowicie niezależny od aplikacji i jej konfiguracji, który się wykona i "wstrzyknie"w odpowiednie miejsce.

W skrócie potrzebuje eval() który zwraca sparsowaną wartość, a nie tylko ją parsuje
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.