Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z parsowaniem
Forum PHP.pl > Forum > PHP
Tajgeer
Witam,

Od jakiegoś czasu piszę własnego CMS.

Napisałem taki oto system szablonów:
http://wklej.org/id/275489/

Tak wygląda index.php
http://wklej.org/id/275490/

A tak wygląda index.tpl
http://wklej.org/id/275493/

Problem polega w tym, że o ile tą "zmienną" na końcu (plik index.tpl) parsuje bez problemu (tzn. zamienia na wartość z tablicy), o tyle już w pętli for nie bardzo. Zamiast podmienionej wartości wyświetla się zmienna, która normalnie jest przed podmienieniem.

Dodam jeszcze, że jeśli w template.class.php zakomentuje funkcję eval() na samym końcu - w źródle pojawia się poprawny kod PHP, który przynajmniej powinien się wykonać poprawnie.

Wiem też, że większość na pewno wyśmieje mój sposób "programowania" (bo chyba nie można nawet nazwać tego programowaniem), ale cały czas się uczę smile.gif

I teraz moje pytanie - jak mogę zmodyfikować / poprawić mój skrypt, aby poprawnie podmieniał on odpowiedni ciąg (ten w pętli for) na wartość?

Ewentualnie czy mógłby mi ktoś polecić jakiś prosty system szablonów, w którym będzie przedstawione sposób, w jaki parsowane są dane z tablicy dwuwymiarowej?
Pilsener
1. Stawiam na wyrażenie regularne w pregu, potestuj je na tej pętli.
2. Nikt Ciebie nie wyśmieje, ale po jakiego grzyba tworzyć nowy pseudojęzyk, który tylko mocno spowolni stronę i utrudni jej edycję? Lepiej użyć czegoś znanego (jak Smarty) lub bardzo prostego. I nie możesz też dodawać zmiennych do szablonu jedną metodą? Co za problem rozpoznać, czy jest to tablica? I co się stanie, jeśli chcę dodać do szablonu kolejną tablicę?
Tajgeer
Ad 1.
Dzięki za radę, potestuję i zobaczę co z tego wyjdzie.

Ad 2.
Chciałem stworzyć własny system szablonów, ze względu na to, że większość dostępnych gotowych rozwiązań posiada albo zbyt dużo funkcji, albo jest dosyć ciężka w zaimplementowaniu.
Druga sprawa tyczy się Smarty - kiedy ja się "bawiłem" razem z tym systemem, posiadał dosyć stare rozwiązania (to było jeszcze w dobie dominacji PHP 4). Czy wg. Ciebie projekt (jako, że widziałem, że jest ponownie rozwijany) może z powodzeniem zostać zaimplementowany do mojego CMS'a?

Podsumowując moje wypociny, sprawdzę jak wygląda obecnie sprawa ze Smarty i jeśli okaże się, że sprosta moim oczekiwaniom - na pewno z niego skorzystam. Chciałbym tylko dodatkowo zaspokoić swoją ciekawość odnośnie pierwszego pytania, bo nigdy się z podobną sytuacją nie spotkałem, a chciałbym wiedzieć co robić, aby zapobiec ewentualnym podobnym problemom w przyszłości.

Pozdrawiam i jeszcze raz dziękuje za rady.
gothye
Smarty spełni Twoje oczekiwania ,zwłaszcza nowa wersja  (jeszcze opisana jako testowa ) 3.0 jet świetnie rozwiązana ,i z tego co widze w porównianiu do starszej wersji 2.6 jest szybsza exclamation.gif!
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.