Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] system szablonów - konepcja
Forum PHP.pl > Forum > Przedszkole
oleś
Staram się napisać własny system szablonów, gdzie chce zrobić coś takiego:

plik index.tpl to zwykły plik html z odpowiednimi tagami.
tagi to np. {tag}, {costam}

Cały konwenter zamieniałby plik index.tpl na index.php zamieniając tagi na kod php.

I teraz pytanie, czy sposób zmieniania tych tagów jest dobry.

  1. array(
  2. 'tag'=> '<?php include"jakis_plik.php";?>',
  3. 'costam'=> '<?php echo "pokaż tekst lub cokolwiek innego";?>'
  4. );


Czy takie zastosowanie byłoby dobre?
modern-web
Pozwolisz, że przytoczę pewien fragment dotyczący tworzenia indywidualnego systemu szablonów - a raczej wady i zalety tego rozwiązania:

Zalety:
-> Dobrze zaprojektowany dedykowany język szablonów może być dużo efektywniejszy w użyciu, niż PHP.
-> Możliwość pozbycia się wad i niedoróbek PHP, a także wielu detali technicznych, ukrywając je za prostymi konstrukcjami języka.

Wady:
-> W praktyce rzadko kiedy to się udaje: brak umiejętności, pomysłowości, doświadczenia.
-> Nawet jeśli konstrukcje języka są proste w użyciu, trzeba się ich najpierw nauczyć, zwłaszcza jeżeli odbiegają pod względem zasady działania od znanych już nam wzorców.

Dlatego jeżeli nie czujesz się zbytnio na siłach lub nie miałeś nigdy do czynienia z innym systemem szablonów (np. Smarty) to lepiej daruj sobie.. Szkoda na to czasu smile.gif
by_ikar
Osobiście rozwiązałem to nieco inaczej: http://forum.php.pl/index.php?showtopic=181343#entry887114 php udostępnia alternatywny zapis, a tobie wystarczy samo wyrażenie które będzie zmieniać klamry na tagi otwierające/zamykające php.
oleś
modern-web chodzi mi o zwykłe oddzielenie wyglądu od logiki aplikacji, w oparciu o mvc.
I czy takie użycie tablicy jest dobre, jakie są wady i zalety i czy są jakieś przeciwwskazania?

by_ikar - wiem, czytałem o tym, jednak nie chce dać żadnej możliwości do zmiany np webdesignerowi. Za kod i jego wykonanie ma odpowiadać tylko i wyłącznie programista php, lub opiekun tablicy z tagami które mają być zamienione na php wink.gif
by_ikar
Cytat(oleś @ 4.12.2011, 15:26:40 ) *
by_ikar - wiem, czytałem o tym, jednak nie chce dać żadnej możliwości do zmiany np webdesignerowi. Za kod i jego wykonanie ma odpowiadać tylko i wyłącznie programista php, lub opiekun tablicy z tagami które mają być zamienione na php wink.gif


Nie bardzo rozumiem, jakiej możliwości zmiany? Jak dla mnie to jest tworzenie zbędnego udziwnienia. Kod szablonu tak czy inaczej musisz przejrzeć ty, jeżeli nie wstawi tagu tylko kod php? W takim wypadku żeby to działało w taki sposób jaki oczekujesz, będziesz tworzyć dodatkowe narzuty wydajnościowe. Gdyż, ponieważ, żeby to się wykonało jako php, będziesz musiał to includować, a w includowanym pliku, jeżeli jest kod php to się wykona. Tagi akurat cię tutaj przed niczym nie chronią, dają ci złudne wrażenie że się w ten sposób zabezpieczasz wink.gif Spróbuj to wykonać tak jak ja, w tamtym temacie nawet masz gotowe wyrażenie, wraz z blokiem ignore.
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.