![]() |
![]() |
![]() ![]()
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%) ![]() ![]() |
Człowieku, już nie masz naprawdę nic lepszego do roboty, tylko jakieś wykopaliska archeologiczne prowadzić? Jeśli już Cię to tak bardzo interesuje, to był tam też inny artykuł pokazujący, jak to osiągnąć, a ze swojej strony polecam zainteresowanie się jakimś porządnym systemem szablonów. Na tym kodzie, który tam jest zaproponowany, zbyt wiele już nie zdziałasz, a w warstwie prezentacji potrzebne jest jednak coś więcej, niż tylko osadzanie zmiennych i robienie list...
Ten post edytował Zyx 2.04.2009, 07:50:47 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 3 Dołączył: 27.07.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Najlepszym rozwiązaniem jest nie korzystanie z systemu szablonów.
Systemy takie jak smarty czy opt komplikują szablon na php co daje ci ten sam efekt co stosowanie php. Czyli z czegoś {$Url} otzymujesz <?php echo $this->_tpl_vars['Url']; ?> Dla początkujących, korzystanie z szablonów wydaje się ułatwieniem, ale jak trochę nad tym wszystkim posiedzisz zrozumiesz że więcej tracisz niż zyskujesz. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Systemy takie jak smarty czy opt komplikują szablon na php co daje ci ten sam efekt co stosowanie php. Czyli idac twoim rozumowanie nie oplaca sie korzystac z jezykow wysokiego poziomu bo one i tak komilują kod na niski poziom.... piszmy wiec wszyscy w assemblerze (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Co cie obchodzi co robi system szablonow? No bardzo dobrze ze zamienia to na php, dzieki temu nie musi za kazdym razem kompilowac. Nie mowie ze jestem zwolennikiem szablonow lub nie. Poprostu twoja argumentacja jest dosc dziwna (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 25 Pomógł: 3 Dołączył: 27.07.2007 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Hm, może źle się wyraziłem chodzi mi o to że w przypadku php nie widzę potrzeby stosowania systemów szablonów takich jak smarty czy php.
Moim zdaniem samo php do szablonów sprawdza się najlepiej. Za i przeciw znalazło by się na pewno wiele... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 2 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zyx czasem jest warto coś odkopać by zrozumieć istotę tego i skąd to się wzięło ;p
A tak na poważnie co prawda wspomniałem o przykładzie na museum.webcity.pl ale też moje pytanie tyczy się czegoś innego. Jeśli samym php będę mógł dzieki funkcją kompilować szablon bez robienia zupy z html i będzie to w miarę wydajne to skorzystam z tego, każdy ma swój sposób na pisanie skryptu. OPT, SMARTY... jak by nie patrzeć to nauka nowego kodu a po co to komu przykład z webcity jak dla mnie jest fajny bo w html wrzucam se tylko znaczniki a resztę robię w php proste i czyste (w miarę;p) tak czy inaczej na chwile obecna mój problem jest inny i jeśli macie jakieś pomysły to prosił bym was o pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) pozdrawiam |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 27.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Rudi1204, myślałem podobnie i wyszło tyle z tego ze musiałem się przerzucić na jakiś gotowy system szablonów ponieważ praca przy większych projektach z takim "template" jest naprawdę uciążliwa.
Sam pseudokod nie jest czymś trudnym czy niezrozumiałym. W sieci przecież znajdziesz manual, artykuły czy tez dziesiątki wpisów na blogach na temat konkretnego systemu templatow. Nic nie stracisz a jedynie zyskasz. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 2 Dołączył: 11.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
no ok rozumiem niech będzie ;p fakt od przybytku głowa nie boli, ale tak czy inaczej wracając do przykładu co podałem w pytaniu czy ktoś wiedział by jak takie coś ugryźć??
|
|
|
![]()
Post
#9
|
|
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: 3.10.2025 - 19:42 |