Forum FAQForum FAQSearchSearch MemberlistMemberlist Forum ignore listForum ignore list RegisterRegister ProfileProfile Log in to check your private messagesLog in to check your private messages Log inLog in
php: templating, kada i zasto?
Goto page 1, 2  Next
 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side
View previous topic :: View next topic  
Author Message
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 05.11.2004 12:03    Post subject: php: templating, kada i zasto? Add user to your forum ignore list Reply with quote

ovako, kada i zasto koristiti templateove, kao recimo smarty?
vidio sam da je maxy nesto prica, meni trebaju iskustva iz prve ruke u kojim uvjetima je ih dobro koristiti, a u kojima ne..

hvala.

_________________
Bolje biti malo lud, nego malo pametan.
Back to top
View user's profile Send private message Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 05.11.2004 12:33    Post subject: Add user to your forum ignore list Reply with quote

hm, ovo je sad osjetljiva tema..

moram sad nesto reci o smartyu.
za smartya mislim da je kompletno i totalno nepotreban. zasto?
pa php je sam po sebi template engine.

glavna poanta je maknuti HTML tagove iz php fajlova (odnosno fajlova koji sadrze php kod koji radi nesto).

sad, uzmes smarty i moras naucit njegovu sintaksu kako bi opce slozio smarty template.
smarty ima neke weird tagove kolko se sjecam pa onda u nazovihtmlu imas kvaziphp tagove.
nakon sto napravis taj template sa ifovima i for petljama onda moras upogonit smarty da to pretvori u nativni php i kad to pogledas -> totalno nesto necitko.

sad, sto si ti napravio?
uzo si smarty, naucio njegovu sintaksu, napravio template i onda ti je smarty to sve ljepo "parsirao" u php i kad otvoris jedan takav sredjeni fajl - wtf? nemres citat to!
i kaj sad? oces nest editirat - nazad otvaraj template fajl, idi se sjeti sintakse, idi napravi promjene, pa opet malo parsiraj...


zasto nisi mogao recimo u php fajl utrpat html i echoat to?
dobis ISTU stvar.

tolko o odvajanju HTML-a od php-a. samo si napravio neke template fajlove koji sadrze jos vise necitljivog koda i sve si na kraju inkorporirao u php...
ne znam da li sam dovoljno istaknuo taj jedan meni totalno nelogican korak pri koristenju smartya.

idemo dalje, citava poanta template enginea je navodno da se odvoji html od php-a, odnosno da u php fajlovima ima sto manje ili da uopce nema html-a a da u nekim template fajlovima stoji html.


ok, sad - ostali template enginei.
poanta je dakle odvojit html od php-a i za to postoji dosta veliki broj template enginea.
neki od njih su npr. phpbb-ov template engine, patTemplate (www.php-tools.de) te invision board template engine (ovako odokativno).
necu pricati kako se koristi neki od njih niti cu reci zasto koristiti neke od njih nego cu napomenuti sljedecu stvar - ti template enginei su USKO povezani sa php-om i automatski su template fajlovi ograniceni na upotrebu sa doticnim tpl engineom i tu nam malo pada u vodu citava prica o cross-platformingu.

sljedeca stvar bi bilo xml templejtiranje - sa xml-om napravis template i sa XSL-om ga transformiras u bilo koji oblik (u nasem slucaju mi cemo to transformirati u html).
posto je xml razumljiv svakome svugdje - ti prakticki mozes uzeti XSL stylesheet te koncept kako strukturirati XML fajl te obavit transformaciju na ASP.NET-u makar si prije koristio recimo AMP platformu.

treba uzeti u obzir da su template-driven sajtovi malo tezi za procesiranje jer ukljucuju parsanje dodatnog fajla pa onda serviranje htmla umjesto da se odma servira html.
zbog tog jednog koraka mozes ostvariti brze upgradeove pojedinih stvari na sajtu ali ti je tradeoff u vremenu procesiranja.
necu ulaziti sada u price o performansama, nego cu zakljucit pricu:

- imho, smarty pobija citav smisao za koristenje template enginea pa ga treba izbjegavati
- treba razmisliti da li je template engine DOISTA potreban jer tjera sistem da radi vise kako bi servirao stranicu.
- treba razmisliti da li koristiti language-specific template sistem ili koristiti XML + XSL shemu


dosta toga sam napisao, ne da mi se pregledavati da li sam nesto ponovio 3-4 puta pa me ispricajte zbog eventualnih ponavljanja Smile
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 05.11.2004 17:56    Post subject: Add user to your forum ignore list Reply with quote

Meni je Smarty skroz kul

Po mom mišljenju Smarty bi se trebao koristiti u većim projektima gdje bi vizualni dizajn trebao biti odvojen od programerskog dijela... Drugim riječima, programer programira i šalje varijable, polja itd. u template gdje ih je dizajner implementirao kako god ga je volja (smarty-eva sintaksa prvenstveno je namijenjena vizualnom formatiranju tih vrijednosti)

Za male projekte Smarty nije potreban, osim ako se u bliskoj budućnosti namjerava mijenjati dizajn ili raditi kompletan novi -- ako se od početka koristio smarty, to će moći biti izvedeno bez intervencije programera

Smarty ima stvarno korisne funkcijice i pluginove koji se mogu lako iskoristiti (bez pisanja php koda, naravno; template-i su neki kvazi-simple-php kao što je Maxy rekao)
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 05.11.2004 18:01    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
- treba razmisliti da li je template engine DOISTA potreban jer tjera sistem da radi vise kako bi servirao stranicu.

Nisi spomenuo Smartyev compiling/caching i moguću iskoristivost Zend akceleracije (ili sličnog) nakon toga

Quote:
- koristiti XML + XSL shemu

i to je isto vrijedno spomena... pogotovo jer danas nema stvari koja ne prepoznaje XML
Back to top
View user's profile Send private message Send e-mail Visit poster's website
gog



Joined: 18 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 05.11.2004 20:13    Post subject: Add user to your forum ignore list Reply with quote

Nisam nikada radio sa smarty-em iako mi je bilo neko vrijeme na to-do listi ;D

Ja kada radim nešto koristim vlastiti "template engine", dohvatim sve podatke koji su mi potrebni iz baze i na kraju includam stranicu koja izgleda otprilike ovako (slijedi skraćena i izmišljena verzija):

Code:

.
.
.<title><?=$naslov?></title>
.
<?include("header.php")?>
.
.
<?include("izbornik.php")?>
.
.
.
<?=$sadrzaj_stranice?>
<?include("footer.php")?>


Meni sasvim dovoljno, ionako se trudim za dizajn koristiti samo css, tako da ako mi je markup kvalitetno napravljen pri redizajnu baš i nemam puno što mijenjati.
Back to top
View user's profile Send private message Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 05.11.2004 20:28    Post subject: Add user to your forum ignore list Reply with quote

suljo, smarty je najgore rjesenje moguce.
sad cu ponovit ono sto sam napiso u kilometarskom postu Smile

dakle, hoces php u fajlu a.php i html u fajlu a.html.

uzmes smartya -> on napravi kupus od html-a i php-a.
moras mu ucit sintaxu.
dolazi sa manualom koji opce nije nesto manji od manuala samog php-a Smile
njegov "caching" i "kompajliranje" su ljepsi naziv za produciranje tog kupusa.

na kraju niti dobijes fajl a.php bez html-a niti fajl b.html bez php-a.
dobijes kupus od toga.

ako treba koristiti template engine onda bi ajmo rec ispravan nacin bio da se pod:
a) upotrijebi sam php kao template engine (kao sto to gog radi donekle)
b) upotrijebi dodatna tehnologija (XML+XSLT)
c) upotrijebi neki drugi template engine koji doista cini razdvajanje html-a od php-a (dakle ne smarty)

meni je (osobno) smarty apsurdan.
mozda se cini da namecem stajaliste ali koristiti nesto sto te tjera da ucis novu sintaxu, mixas html sa nekim cudnim tagovima koji podrzavaju neke funkcije nalik php-ovima i da na kraju svega dobis kupus - nije mi to logicno.

smarty -> no.
Back to top
View user's profile Send private message
gog



Joined: 18 Jun 2004
Posts: 679
Location: zagreb

PostPosted: 05.11.2004 22:36    Post subject: Add user to your forum ignore list Reply with quote

Ima netko neki dobar link gdje su objašnjene osnove XML+XSLT, tipa zašto, prednosti i potrebni alati...
Back to top
View user's profile Send private message Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 05.11.2004 22:59    Post subject: Add user to your forum ignore list Reply with quote

par clanaka o template engineima:
http://www.phppatterns.com/index.php/article/articleview/4/1/1/
http://www.sitepoint.com/forums/showthread.php?threadid=123769
http://www.phppatterns.com/index.php/article/articleview/18/1/1/

xml + xslt:
www.google.com Smile
www.w3.org Very Happy
www.w3schools.com (tu zapravo ima razumljivih clanaka)
http://www.sitepoint.com/subcat/xml (malo upotrijebiti search osim klikanja na link)
Back to top
View user's profile Send private message
_butch



Joined: 10 Sep 2003
Posts: 870
Location: Maichno, Krlovc

PostPosted: 06.11.2004 00:52    Post subject: Add user to your forum ignore list Reply with quote

Sveima svoje mane i prednosti..
(*te = templating engine, redi jednostavnosti pisanja, a ne i citanja Smile)

U jednu ruku koristenje *te ti je ful korisno (klasika : odvajanje dizajna od koda), usteda vremena bla bla

Sada malo losih strana - ajmo i smarty ukljucit u to.
Svaki templating engine ima svoj "jezik" - vrijeme na ucenje toga i nauciti neke cake (no to bas i nije losa strana.. jako Smile )
Narafno *te mozemo shvatiti kao i jedno usko grlo cijelog procesa..

Dok bi se "normalnim" putem samo izvrsio kod u html i gotovo, ovdje php izvrsava kod pa zove(recimo) smarty-a pa on jadnik prevodi sve da bi nase okice to mogle vidjeti.. to xtra vrijeme.

Naravno smarty nije "the" choice.
No nisam upoznat bas sa ASP (il ASP.Net, jesi posto dotNetan?) templating enginima.
U svaki slucaj radis malo veci sajtic uklopi si jeda templating engine.. Misli dugorocno Smile

Naravno maxy je to sve lijepo objesnio, cestitam Smile

_________________
FRENCH GUARD: No chance, English bed-wetting types.
I burst my pimples at you and call your door-opening request a silly thing, you tiny-brained wipers of other people's bottoms!
Flikrac
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 06.11.2004 17:17    Post subject: Add user to your forum ignore list Reply with quote

a kak uopce smarty funkcionira, jel to samo skup nekih funkcija koje formatiraju ispis, jel to klasa, modul neki? samo se inkluda u stranicu ili?
kak uopce funkcioniraju moduli u php-u?

pitam jer veli maxy da je bolje svoj templating napraviti...

_________________
Bolje biti malo lud, nego malo pametan.
Back to top
View user's profile Send private message Visit poster's website
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 06.11.2004 17:56    Post subject: Add user to your forum ignore list Reply with quote

Smarty je klasa i includa se u stranicu. Princip je takav da u php-u odradiš programerski dio, spremiš u klasu varijable koje služe za output i jednom od metoda te klase pozoveš template stranicu, koja koristi smartyevu sintaksu da prikaže taj sadržaj u html-u.

Ovo je uzeto sa smartyevog crash coursa:

INDEX.PHP
Code:
include('Smarty.class.php');

// create object
$smarty = new Smarty;

// assign some content. This would typically come from
// a database or other source, but we'll use static
// values for the purpose of this example.
$smarty->assign('name', 'george smith');
$smarty->assign('address', '45th & Harris');

// display it
$smarty->display('index.tpl');


INDEX.TPL (template file, pozvan je u zadnjoj liniji php-a)
Code:
<html>
<head>
<title>User Info</title>
</head>
<body>

User Information:<p>

Name: {$name}<br>    //tu će se echo-ati 'name varijabla'
Address: {$address}<br>  //tu će se echoati adresa

</body>
</html>


Ovo je samo princip. Dizajner korištenjem smarty-eve sintakse ima na raspolaganju tonu korisnih funkcija i pluginova koji formatiraju taj sadržaj kako im paše, i to po meni čini pravu moć smartya
Back to top
View user's profile Send private message Send e-mail Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 06.11.2004 18:17    Post subject: Add user to your forum ignore list Reply with quote

zasto ne bi imao ovo:

Code:
<html>
<head>
<title>User Info</title>
</head>
<body>

User Information:<p>

Name: <?php echo $name; ?><br>    //tu će se echo-ati 'name varijabla'
Address: <?php echo $address; ?><br>  //tu će se echoati adresa

</body>
</html>



1.) eliminiras include smartya -> dobis na performansama
2.) eliminiras upotrebu regular expressiona -> dobis na performansama

ovo je imho uzasna upotreba template enginea. mjenjas <?php echo ?> sa {}
ne vidim razlog zasto ne bi umjesto viticasting zagrada u template fajlu stajao <?php echo ?>..

osim tog, sto kada imas template file za npr. vijesti? tamo ti se neki djelovi moraju ponavljati...


samo bi htio reci da ja NISAM protiv template enginea nego protiv uporabe istih tamo gdje ne treba.
gledam cisto sa strane performansi, ne sa nekakvih osobnih preferenca.
suljin primjer je po meni jako losa upotreba template enginea jer je upotrebljen gdje ne treba.
Back to top
View user's profile Send private message
el8



Joined: 22 Sep 2003
Posts: 6

PostPosted: 06.11.2004 18:22    Post subject: Add user to your forum ignore list Reply with quote

o template enginima sam procitao 20ak textova i threadova od preko 50ak postova. Bilo je razlicitih misljenja, i onih za i onih protiv koristenja template engina. Uglavnom niti jedna strana nije prevladala jer je uvijek netko iznio neke argumente i rasprava je isla u mnogo smjerova. PHP je sam po sebi idealan template engine ako se koristi kao sto je GOG opisao. Nedostatak je sto mozda imalo malo vishe posla no ne unosi se nikakav nepotrebni overhead.

Sto se tice smarty-a i feature-rich t. engina njihovim koristenjem se skracuje vrijeme developmenta jer vecina stvari postoji vec napravljena, kao primjer uzeti cu generiranje select boxova za odabir datuma, u manualu pogledate parametre ubacite ih u tag i voila. Time ste si ustedili malo vremena no unijeli ste veliki veliki overhead. (Znam jer sam mjerio execution timing sa xdebug modulom). Za mene to su dirty hackovi.

smarty je klasa koja se includa i inicijalizira na stranici. Uglavnom koristi samo par metoda, assign za pridruzivanje varijabli templateu, fetch za dohvat procesiranog templatea i display za njegov prikaz. Inace klasa ima 60ak+ Kb i includa se prilikom svakog requesta.

Ukoliko koristite recimo mmcache ili slicni bytecode cache onda to i nije toliko bitno posto PHP ne procesira ponovno klasu i s obzirom na to site koji je programiran radi brzo.

Svaki template prilikom prvog prikazivanja biva "compiliran" u kupus kao sto je maxy naveo. Proces se sastoji od parsiranja pozvanog templatea. Compiler clasa ucitava dodatne klase. Uglavnom puno, jako puno klasa. Npr. ako u pozvanom templateu koristish html_select_date template tag, prilikom generiranja ocitati dodatnu klasu koja "zna raditi" s tim tagom i tako za svaki tag. Kada procesiranja zavrsi template se sprema u cache (ukoliko je ukljucen). Ovaj proces je malo zahtjevniji ali se samo jednom ponavlja.

Sto se tice svog t. engina, to ti ne bih savjetovao jer ces uvijek htjeti dodati josh samo jedan feature i zabloatati cesh engine. Govorim iz iskustva i iskustva drugih ljudi. Osim ako ne zelish to uciniti za vjezbu Very Happy

Meni se osobno svidjaja WACT project - http://wact.sf.net

Evo i detalji o njihovom template enginu i arhitekturi:
http://wact.sourceforge.net/index.php/TemplateComponentArchitecture
http://wact.sourceforge.net/index.php/TemplateSyntax

btw na sitepoint forum-u mozesh procitati jako jako korisne informacije u php developmentu: http://www.sitepoint.com/forums/forumdisplay.php?f=147
probaj malo traziti predhodne postove o template enginovima

pozdrav!
Back to top
View user's profile Send private message
Sulien



Joined: 04 Jan 2004
Posts: 2905
Location: Zagreb

PostPosted: 06.11.2004 18:38    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
suljin primjer je po meni jako losa upotreba template enginea jer je upotrebljen gdje ne treba.

Sulien wrote:
Ovo je samo princip. Dizajner korištenjem smarty-eve sintakse ima na raspolaganju tonu korisnih funkcija i pluginova koji formatiraju taj sadržaj kako im paše, i to po meni čini pravu moć smartya
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ylodi



Joined: 14 Nov 2003
Posts: 90

PostPosted: 06.11.2004 23:39    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:

poanta je dakle odvojit html od php-a i za to postoji dosta veliki broj template enginea.
neki od njih su npr. phpbb-ov template engine, patTemplate (www.php-tools.de) te invision board template engine (ovako odokativno).
necu pricati kako se koristi neki od njih niti cu reci zasto koristiti neke od njih nego cu napomenuti sljedecu stvar - ti template enginei su USKO povezani sa php-om i automatski su template fajlovi ograniceni na upotrebu sa doticnim tpl engineom i tu nam malo pada u vodu citava prica o cross-platformingu.


1. Pri odabiru template enginea ja sam nekoliko puta eliminirao Smarty uglavnom zbog razloga koje si i ti naveo.

2. Po čemu su ti TE-ovi usko povezani s php-om a Smarty nije? Smile To što su ti predlošci ograničeni samo na upotrebu s dotičnim TE-om nema veze s cross-platform aplikacijama. Isti TE radi i pod Windowsima i pod UNIX/Linuxom. Mislim da si malo pobrkao lončiće, spominješ pogrešan pojam na pogrešnom mjestu.

maxy wrote:

sljedeca stvar bi bilo xml templejtiranje - sa xml-om napravis template i sa XSL-om ga transformiras u bilo koji oblik (u nasem slucaju mi cemo to transformirati u html).
posto je xml razumljiv svakome svugdje - ti prakticki mozes uzeti XSL stylesheet te koncept kako strukturirati XML fajl te obavit transformaciju na ASP.NET-u makar si prije koristio recimo AMP platformu.


AMP? Misliš na Apache/MySQL/Php? U web okruženju je predviđeno da se kombinacija XML + XSL koristi na taj način da se sve to lijepo zajedno pošalje pregledniku, a on onda izvrši transformaciju u html. Jasno to se može raditi i na serverskoj strani ali ti koji zapomažeš za performansama ovdje si ostao tih a ovo je najzahtjevnija kombinacija. Server bi trebao napraviti xml (govorimo o stranicama s dinamičkim sadržajem koji se stalno mijenja pa je nužno povući podatke iz baze za svakog korisnika), pa bi na osnovi xsl-a trebao kreirati html i onda radi slanje tog html-a korisniku. Parsanje xsl-a je kompliciranije od zamjene varijabli u predlošku.

maxy wrote:

treba uzeti u obzir da su template-driven sajtovi malo tezi za procesiranje jer ukljucuju parsanje dodatnog fajla pa onda serviranje htmla umjesto da se odma servira html.
zbog tog jednog koraka mozes ostvariti brze upgradeove pojedinih stvari na sajtu ali ti je tradeoff u vremenu procesiranja.
necu ulaziti sada u price o performansama, nego cu zakljucit pricu:
- imho, smarty pobija citav smisao za koristenje template enginea pa ga treba izbjegavati
- treba razmisliti da li je template engine DOISTA potreban jer tjera sistem da radi vise kako bi servirao stranicu.


Predložak se ne mora uvijek parsati, neki inteligentniji TE će to napraviti samo jednom, nakon promjene predloška, a dalje će koristiti isparsani predložak. Vrijeme procesiranja kod TE-ova nije toliko kritično kao što ti impliciraš ako se baš i svaki put parsa predložak. Poanta je da TE omogućava brži razvoj (kod uvježbanog tima) ali ono što je još važnije: izmjene i održavanje je jednostavnije, efikasnije i brže. Odvajanje PHP-a i html-a je bitno kod rada u timu gdje dizajner radi html, a programer programira. Na taj način oni mogu, ako su prethodno dobro postavili sistem, istovremeno početi s radom na web aplikaciji, programer ne mora čekati da dizajner završi html već piše onaj dio koda koji nema direktne veze s prikazom (tzv. business logic layer)...

Ja jesam pristalica optimiziranja i neću pisati bloated aplikaciju, ali cijena dodatne memorije ili procesora na serveru je danas manja od nekoliko sati rada developera. Jeftinije je pojačati server nego izgubiti nekoliko dana na optimiziranje.

Samo kao ilustracija, imam Celeron566 kao lokalni testni server na kojemu sam neki dan radio jedan benchmark zbog potrebe da obrazložim i dokažem jedno svoje stajalište. Web aplikacija na kojoj sam testirao koristi moj vlastiti TE. Mjerio sam na klijent strani i ispalo je da je za zahtjev serveru, obradu zahtjeva i primanje rezultata trebalo 4ms (milisekunde). Znači da je u tim uvjetima server sposoban odraditi 250 zahtjeva u sekundi. Koliko vas radi stranice koje imaju takav promet? Sad zamisli da je umjesto C566 u računalu neki jači procesor. Ili da PHP još koristi i Zend encoder ili nešto slično?!
Back to top
View user's profile Send private message Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 07.11.2004 12:24    Post subject: Add user to your forum ignore list Reply with quote

Quote:
AMP? Misliš na Apache/MySQL/Php? U web okruženju je predviđeno da se kombinacija XML + XSL koristi na taj način da se sve to lijepo zajedno pošalje pregledniku, a on onda izvrši transformaciju u html. Jasno to se može raditi i na serverskoj strani ali ti koji zapomažeš za performansama ovdje si ostao tih a ovo je najzahtjevnija kombinacija. Server bi trebao napraviti xml (govorimo o stranicama s dinamičkim sadržajem koji se stalno mijenja pa je nužno povući podatke iz baze za svakog korisnika), pa bi na osnovi xsl-a trebao kreirati html i onda radi slanje tog html-a korisniku. Parsanje xsl-a je kompliciranije od zamjene varijabli u predlošku.


ja sam naveo XML + XSL kao primjer jer koristenjem XML-a i XSL-a se rjesis ovisnosti o platformi dok radis templateove.
naravno da ako to parsas na serveru - gubis perofmanse. to je bez daljnjeg.

nadalje, ja sam totalno i kompletno protiv smartya. za druge TE nisam nista govorio Smile
sto se tice upotrebe - i sam ih koristim jer se pokazalo da je lakse odrzavati client-side dio i server-side dio.

toliko od mene Smile
idem iskopati jedan linkich sa usporedbom template enginea pa se vratim za koji dan kad to nadjem.
Back to top
View user's profile Send private message
carr



Joined: 13 Nov 2003
Posts: 1397
Location: Karlovac

PostPosted: 07.11.2004 14:30    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
nadalje, ja sam totalno i kompletno protiv smartya. za druge TE nisam nista govorio Smile
sto se tice upotrebe - i sam ih koristim jer se pokazalo da je lakse odrzavati client-side dio i server-side dio.


ok onda.
koji TE da koristim? ja sam pitao za smarty jer je to jedini za kojeg sam cuo, najpopularniji je.
koji ti koristis?

nedamise se sad isprobavati 10 TE, otkrivati toplu vodu, vjerujem ljudima na ovom forumu koji su ipak strucnjaci, i ako oni kazu da nesto valja, ja cu se pouzdati u to (bar za prvu ruku Smile)

hvala

_________________
Bolje biti malo lud, nego malo pametan.
Back to top
View user's profile Send private message Visit poster's website
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 09.11.2004 10:53    Post subject: Add user to your forum ignore list Reply with quote

pa meni je patTemplate sasvim zadovoljavajuc.
www.php-tools.de

ako se odlucis za njega, detaljno prouci primjere.
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 09.11.2004 13:39    Post subject: Add user to your forum ignore list Reply with quote

Složio bih se s maxy-em i napomenuo da je jednostavno, zbog načina na koji php i html rade, po mom osobnom misljenju, nemoguce napravit takav template engine u kojem bi ti zaista odvojio kodiranje od html-a. Eventualno, kako je maxy rekao, koristenjem XML-a, ali i tada moras parseru davati dodatni posao. da sve to guta i preslaze u ono što na kraju opet ispadne HTML.
Najefikasniji mi se čini stil u kojem je odvojena izrada dizajna i php koda te naknadno slaganje svega s tim da u php fajlovima ima što manje HTML-a koji se naknadno formatira pomocu CSS-a.
Međutim, zaista je nemoguce savrseno odvojit jedno od drugoga i uvijek imas neki trade-off , te obavezan gubitak na perfomansama bez obzira na sistem.
Jednom, barem pred kraj slaganja, mora doci do kontakta dizajnera i programera, tj do suradnje pri zavrsnom slaganju. Business logic se uvijek moze slagati (u protivnom nesto ne stima s organizacijom) odvojeno od samog dizajna, ali na kraju sama implementacija sustava i prikaza tog sustava je nerazdvojna i međuovisna.

Svašta sam natrackao al valjda u got my point.

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
ylodi



Joined: 14 Nov 2003
Posts: 90

PostPosted: 09.11.2004 15:07    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:
Složio bih se s maxy-em i napomenuo da je jednostavno, zbog načina na koji php i html rade, po mom osobnom misljenju, nemoguce napravit takav template engine u kojem bi ti zaista odvojio kodiranje od html-a.


Po mojem osobnom mišljenju, baziranom na praktičnim rješenjima, moguće je napraviti takav engine, štoviše ja sam koristim jedan takav, a znam za još nekoliko takvih rješenja. Smile

U predlošcima se nalazi čisti html, a varijable i blokovi su custom tagovi.
Back to top
View user's profile Send private message Visit poster's website
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 09.11.2004 15:20    Post subject: Add user to your forum ignore list Reply with quote

blokovi i tagovi koje opet moraš parsirati i gdje gubis na perfomansama... dakle u svakom slucaju imas nesto sto moras zrtvovati u svakom sistemu.
Eto, kad bih birao neki sistem, odabrao bih phpBB sustav koji mi se čini najjednostavniji za implementaciju i najugodniji bez pretjeranog kompliciranja....

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 09.11.2004 15:56    Post subject: Add user to your forum ignore list Reply with quote

edgar wrote:
blokovi i tagovi koje opet moraš parsirati i gdje gubis na perfomansama... dakle u svakom slucaju imas nesto sto moras zrtvovati u svakom sistemu.
Eto, kad bih birao neki sistem, odabrao bih phpBB sustav koji mi se čini najjednostavniji za implementaciju i najugodniji bez pretjeranog kompliciranja....


edgare, ylodijev TE je ako se ne varam - identican phpBB-ovom Very Happy

iz nekih razloga namjerno nisam ulazio u ostale TE te metode, niti necu. Smile
Back to top
View user's profile Send private message
edgar



Joined: 28 Dec 2003
Posts: 916
Location: Pred monitorom

PostPosted: 09.11.2004 16:06    Post subject: Add user to your forum ignore list Reply with quote

maxy wrote:
edgar wrote:
blokovi i tagovi koje opet moraš parsirati i gdje gubis na perfomansama... dakle u svakom slucaju imas nesto sto moras zrtvovati u svakom sistemu.
Eto, kad bih birao neki sistem, odabrao bih phpBB sustav koji mi se čini najjednostavniji za implementaciju i najugodniji bez pretjeranog kompliciranja....


edgare, ylodijev TE je ako se ne varam - identican phpBB-ovom Very Happy

Nisam pretjerano detaljno čitao sve postove Embarassed
Quote:
iz nekih razloga namjerno nisam ulazio u ostale TE te metode, niti necu. Smile

Pa pomozi čovjeku na sve moguće načine, osim ako zadiru u intimu Shocked Laughing

_________________
Digital Genetics | Koote | Nuspojava
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
maxy



Joined: 07 Sep 2003
Posts: 894
Location: Zagreb

PostPosted: 09.11.2004 17:07    Post subject: Add user to your forum ignore list Reply with quote

eh, mislim da sam dovoljno rekao Smile
o metodama definitivno necu pricati, niti idejama i sl.
mislim da ne moram objasnjavati zasto. Smile

ideja je tu, alat je tu, readme je tu, znanje je tu - pomjesat to u crnu kutiju i sam smislit kako dalje Very Happy
Back to top
View user's profile Send private message
Danko



Joined: 16 Sep 2004
Posts: 124
Location: Zagreb

PostPosted: 09.11.2004 17:12    Post subject: Add user to your forum ignore list Reply with quote

Pošto ljudi imaju veliki otpor prema templatingu, odlučio sam napisat par riječi.
Osobno koristim PHPlib templating jer sam skužio da jedini kompletno odvaja PHP i HTML, za razliku od Smartyja i drugih, koji ubacuju logiku u HTML - a to je baš ono što želim izbjeći.

Što je template?

Template je tekstualna fajla koja u sebi sadrži i neka imena varijabli (u vitičastim zagradama). Na primjer:

Code:
Dobrodosli {KORISNIK}! Danas je {DATUM}. Niste bili logirani {BROJ_DANA} dana.


Vi pomoću PHP skripte dohvaćate tu tekstualnu fajlu sa harda i "parsate" je pomoću Template klase (koju prvo "includate" u svoj PHP i inicijalizirate - za ovo treba znati osnove objektnog programiranja).
Parsati template znači na mjesto varijabli upucati neki drugi tekst - koji može biti dug od par bajta do par stotina kB. Taj tekst kreirate unutar PHP skripte dinamički - npr. neki tekst koji izvlačite iz MySQL baze.

Nakon što parsate gornji template, možete dobit nešto ovako:

Code:
Dobrodosli Ingrid! Danas je 1.1.2005. Niste bili logirani 80 dana.


Arrow Templating nije ograničen samo na web, tj. na HTML fajlove. On može poslužiti u svakoj prilici kad treba tekst ubacivati unutar teksta (mogu se parsati .pdf dokumenti itd.)

Zašto je templating koristan?

Smisao korištenja templatinga je odvojiti dizajn od logike. Programer obično ne želi da mu dizajner brlja po kodu, i obratno.

Zvuči smiješno, ali ono što je mene najviše fasciniralo je to da - od kad sam počeo radit templating - mogu svoj HTML template otvorit u Dreamweaveru i vidjet ga! Laughing
I ne samo to: mogu ubacit Javascript behaviur, mogu primit tablicu za rub i mišem je razvuć, mogu ubacit formu, sliku i sve to editirati kao objekte u Dreamweaveru.

Puno mi je ljudi reklo da im je, od kad su počeli radit PHP, Dreamweaver postao suvišan - tj. da im samo smeta. I da su se vratili na Notepad i sl. Razlog tome je sigurno taj da ne mogu vidjet PHP stranicu u WYSIWYG prikazu DW-a i ništa korisno s njom napravit Wink

Moje mišljenje je da je DW revolucionaran program koji je smišljen da olakšava život i treba ga objeručke prihvatit! A templating je jedan veliki korak prema tome...

Protuargumenti...

Ljudi kažu da sve to oni mogu napravit pomoću include() funkcija. Da šta će njima templating i ovo i ono...
Ovako: ja sam radio i na onaj i na ovaj način. A danas ne pomišljam radit bez templatinga.

btw. nitko od zagovornika "inkludanja" mi nemre otvorit PHP stranicu u Dreamweaveru! Wink

U principu je najveći argument protiv napor koji trebaš uložiti da se promijeni tvoja logika programiranja. Jednostavno moraš sjest i proučit kak to radi. Pa onda treba uzet neke svoje funkcije i klase (koje svatko od nas ima kreirane "on his own" i koje su mu najslađe na svijetu) i preuredit ih za taj novi način rada. Treba izgubit tjedan-dva vremena na to - ali isplati se! Cool

Razlozi za

1) Promjene

Zove te čovjek kojem si napravio stranice prije xy mjeseci da mu na stranici promijeniš neku sliku, ili boju stranice, ili... Moraš priznat da je muka otvorit PHP fajl od 500 linija i po onim "echo"-ima tražit gdje on to ispisuje sliku. Puno je lakše je s Dreamweaverom otvorit "stranica.tpl" i u WYSIWYG modu obrisat sliku i stavit drugu. Automatski imaš manji otpor prema promjeni.

2) Skinning

Imaš već gotove stranice koje se tak sviđaju drugoj firmi da hoće sve to isto, samo drukčiji design. No problemo! PHP engine ne diraš - otvaraš samo templejte u Dreamweaveru i editiraš ih, dakle radiš novi "skin".
phpBB je super primjer za skinning.

3) Portal

Ja nemam pojma kak bi napravio portal s gomilom boxova bez da koristim templating i da ga rascjepkam u manje cjeline. Include-ovi? Sretno! Wink

4) Multijezičnost

Isto tak mislim da bih dušu ispustio da moram radit stranice na deset jezika, onak kak se to obično radi: (folder_hr, folder_en, folder_de... Rolling Eyes ). Ovak samo definiraš gomilu varijabli na ovom ili onom jeziku i ubacuješ ih u jedan te isti template. I opet je phpBB izvrstan primjer za multijezičnost... Vrijedi njuškati po njemu, puno se toga da naučiti..Wink

5) Display

IE, Netscape, 800x600, 1024x768, text only, printer friendly... Pomoću templatinga je full jednostavno napravit različite template-a za svaki različiti browser.

Tu imate par primjera korištenja template-a - i onaj klasični s ispisom tablice (korištenjem blokova i specijalnih komentara unutar HTML-a).

Ak nekoga još kaj zanima - samo nek pita..

_________________
dankokozar.com | Adjungo | UnityHR | eDriven
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    mi3dot.org Forum Index -> Server-side All times are GMT + 1 Hour
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group