DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   Monte Ohrt - is PHP template language? (http://www.devprotalk.com/showthread.php?t=9036)

bluesman 17. 08. 2010. 21:51

Monte Ohrt - is PHP template language?
 
Upravo sam dobio jedan mail od Monte Ohrt, čoveka koji je napravio Smarty, gde komentariše "večitu dilemu" da li je PHP template language. Pročitajte šta kaže, ja mogu samo da se složim:

Citat:

Over the years this argument about PHP being a template language always crops up. In the beginning, Rasmus wrote PHP touted as an HTML-embedded scripting language. So you can say it is a template language, only for the lack of a better alternative to mixing PHP with HTML. That is, unless you use something like Smarty to create that separation. That is exactly why Smarty was created, because PHP, as a template language, just plain sucks. It is however, an excellent development language, so use it that way! I was fighting this clear back in the late 1990's. Developers constantly scoffed "IT *IS* A TEMPLATE LANGUAGE!", but I simply couldn't come to those terms, and eventually Smarty was released.

Another pretty cool thing (since I have been writing the new website for Smarty 3), template inheritance just plain rocks. You'll never go back to including headers, footers, etc. We've been doing {include} style management in templates for years, because, well, that's how you do it in PHP, and that's what we knew. That is how you *have* to do it in PHP! Smarty already makes a separation from PHP, so it was pretty straight-forward to implement inheritance. Give it a try.

So, although PHP *can* be used for templating, IMHO it's not a desirable way to use it. Python is also a horrible "template language", which is why Django Templates and CheetahTemplates were written. Same concept.

Of course you all have already come to the same conclusions, being here and reading this, right? :)

Is PHP a template language? It is as much as a template language as a chainsaw is a bread knife.

ivanhoe 18. 08. 2010. 08:00

paaa, i jeste i nije... smarty i php (sa skracenom sintaxom) se zapravo jako malo razlikuju, da li pises {foreach ...} ili <? foreach(...): ?> ili recimo {$bla} ili <?=$bla?>. U par navrata sam pretvarao php u smarty templejte, i to moze relativno brzo i lako da se uradi, cak sa obicnim search and replace se zameni veliki deo koda...

Hocu da kazem nije to bas tako drasticna razlika, mada smarty sintaxa je svakako citljivija od "izvorne". Monte je u sustini je pretvorio php u kvazi basic (izbacio zagrade, dodao tacku umesto []) i ima dosta unapred gotovih f-ja koje su zgodne, ali ne bih bas nazvao to chainsaw vs. bread knife... ja koristim smarty godinama vec, ali nije bas da sam hteo da se ubijem kad sam morao da radim direktno u php-u, recimo za Wordpress teme kad radim..

bluesman 18. 08. 2010. 12:25

Mislim da nisi shvatio taj deo chainsaw vs bread knife koji se odnosi na to da je PHP (postao) daleko više od template language. To je odgovor onima koji tvrde da je PHP običan template lang i ništa više od toga. Ako je "bread knifre" jedan pravi template language kao što je Smarty, koji i ne pretenduje na više od toga (šta više, u smarty3 su po defaultu izbacili {php} tag) - PHP je chainsaw u odnosu na to.

ivanhoe 18. 08. 2010. 12:36

ok, ako je to pisac hteo da kaze, onda se slazem :)

ppavlovic 18. 08. 2010. 13:23

Ja sam od Smarty presao na PHP kao templejt jezik. Elem, blues, deder mi reci sta radis kad ti zatreba bilo kakvo racunanje u okviru templejta (posto je {php} tag izbacen) ?

bluesman 18. 08. 2010. 13:28

Na primer kakvo računanje? a + b * c? To sve možeš u smarty da uradiš. Ili treći koren iz cosinus arkus tanhgensa ? :)

sinisake 18. 08. 2010. 16:09

mada smarty sintaxa je svakako citljivija od "izvorne"

Meni nije. :D Ne znam kako je ljudima koji samo znaju html/css. Ne verujem ni da njima olaksava posao.

Aleksandar.Ilic 18. 08. 2010. 17:41

Vec 6-7 godina radim sa smarty-ijem (ako me pamcenje dobro sluzi) i svim html/css implementatorima sa kojima sam radio (a bilo ih je dosta) je bilo lakse da zapamte smarty sintaxu nego php. A cak i kad sam ja pravio templejtove a oni samo ubacivali html/css, daleko manje gresaka su pravili kad rade sa smarty templejtovima nego sa PHP
Ovo je moje licno iskustvo, i ne kazem da je sa svakim tako

dinke 18. 08. 2010. 23:53

Btw smarty ne treba da radi nikakvu app logiku tj. logiku koja nije vezana za templatove, pa cenim da to racunanje u smarty-u i nema previse smisla (iako je moguce stosta). :)

pecili 06. 09. 2010. 01:57

taj dasa definivno ima kliker. sa recimo
Kôd:

$comment[comment].comment|escape|ng_autolink|truncate:390
mozes iz text base izvuci sve kao recimo iz twitter timelinea.


Vreme je GMT +2. Trenutno vreme je 09:49.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.