![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 2 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam w php siedzę jakiś czas, ale mimo to nie ogarniam do końca sprawy klas, a to do pisania silnika szablonów chyba jest podstawa no nie??
Mianowicie już jakiś czas temu znalazłem na stronie museum.webcity.pl artykuł jak stworzyć własny mechanizm szablonów. Całkiem niezły i przyjazny, ale na dłuższą metę jemu coś brakuje no właśnie "subsekcji". Zabrałem się za to ale patrząc na to ze kuleje z klas rozłożyłem na końcu ręce. Na forum znalazłem takie coś plik index.php
plik main_index.html
Starałem się jakoś dojść do tego jak podmieniać zakres od <!-- test --> do <!-- /test --> i wrzucić to w pętle by zrobić listing ale nie udało mi się. Jedyne do czego doszłem to jak zmienić cały zakres a mianowicie poprzez dodanie przed pętla takiego czegoś:
Czy ma ktoś może jakieś propozycje, porady etc... jak to ugryźć?? Ten post edytował Rudi1204 12.04.2009, 10:50:53 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%) ![]() ![]() |
Takie coś realizuje się, kompilując szablony do kodu PHP, bo "manualna" obsługa pętli nie dość, że jest masakryczna, to jeszcze powolna. W ten sposób, jak zauważył Mati, działa zdecydowana większość przyzwoitych parserów oferujących coś więcej, niż tylko zamianę zmiennych, ale na pewno nie jest to żadna przesłanka do tego, że PHP jest w jakiś sposób lepsze. Dedykowany język dla systemu szablonów tworzony jest z tego samego powodu, dla którego ktoś kiedyś wpadł na pomysł, że strony WWW można robić w czymś innym, niż C/C++/assembler.
Wprawdzie takie języki najczęściej de facto są kopią PHP, tj. cała kompilacja sprowadza się do "zamień ifa w klamerkach na ifa w PHP" (gdyż jest to w sumie najprostsze do osiągnięcia), ale ponieważ są to nowe języki, można z nich wycisnąć przy odrobinie pomysłowości rzeczy, o jakich twórcom PHP się nawet nie śniło. Mogę podać co najmniej kilka przykładów problemów, które w OPT rozwiązuje się banalnie, a w PHP trzeba kombinować na potęgę, a i tak nie uzyska się podobnej prostoty. Powodem jest właśnie to, że mimo wszystko taki język to nie jest PHP (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 00:03 |