Az a baj, hogy nem is hajlandó elfogadni ezeknek a rendszereknek a létjogosultságát. Plusz: azokat a megállpításokat, melyek a smartyra igazak, és elfogadható érvek, általánosítja az összes többi sablonozóra.
Abban maximálisan egyetértek vele, hogy a smarty létrehozott egy új script nyelvet, aminek az értelmezőjét PHP-ban írták meg. Ennek én sem látom sok értelmét.
De nem úgy hitvita. Egyszerűen van amikor template rendszert *kell* használni, máskor pedig tök felesleges. Azt kell tudni felismerni, hogy mikor melyik a helyzet.
A Smarty-féle kijelentés legalább részben nem igaz. Smarty-val sokkal hatékonyabban lehet leírni szerkezeteket, sokkal hatékonyabb célnyelv tud lenni a feladatra, és a végeredmény is átláthatóbb tud lenni. Ezen kívül jogosultságokról is szó lehet, ha valaki csak a Smarty sablonokhoz fér hozzá, akkor sokkal kevesebbet tud a rendszerrel tenni, mint ha PHP-vel sablonozna. Ugye a végeredmény pedig hatékonyság szempontjából a Smarty használata esetén tök ugyanaz lesz, mintha PHP-ben írtuk volna - tehát hatékonyság szempontjából mindegy.
Egyszerűen van amikor template rendszert *kell* használni, máskor pedig tök felesleges.
A cikk ugye nem erről szól, hanem szerinte ha már használunk template kezelőt, akkor nem érdemes erre a célra egy új nyelvezetet bevezetni, főleg, ha ez némileg a teljesítmény róvására is megy.
Azt kell tudni felismerni, hogy mikor melyik a helyzet.
Ha feltesszük, hogy webes alkalmazásokról beszélünk (felejtsük el a script farigcsálást), akkor SZVSZ minden esetben érdemes valamilyen szinten a megjelenítési réteget különválasztani, különben egy nehezen módosítható, rugalmatlan kódot kapunk. Az meg ugye nagyjából sosem igaz, hogy amit épp csinálunk, ahhoz nem kell majd hozzányúlni soha, még a legegyszerűbb rendszerek esetében sem.
Smarty-val sokkal hatékonyabban lehet leírni szerkezeteket, sokkal hatékonyabb célnyelv tud lenni a feladatra, és a végeredmény is átláthatóbb tud lenni.
Ez szerintem eléggé szubjektív dolog. Számomra is tetszetősebb a smarty template, de van akinek meg ugyanúgy kézre áll a HTML-be ágyazott PHP, sőt van aki szerint meg az XML/XSLT páros az üdvözítő, pedig aki nem találkozott még ezzel, annak valszeg fel áll a hátán a sző egy ilyentől.
Ezen kívül jogosultságokról is szó lehet, ha valaki csak a Smarty sablonokhoz fér hozzá, akkor sokkal kevesebbet tud a rendszerrel tenni, mint ha PHP-vel sablonozna.
Szerintem ez a kulcs. Egyrészt olyan szempontból, hogy megakadályozzuk, hogy a sitebuilder esetlegesen odacsúnyázzon, plusz egy grafikus beállítottságú embernek könnyebben emészthető a smarty vagy hasonló szintaktika, mint a PHP.
Ugye a végeredmény pedig hatékonyság szempontjából a Smarty használata esetén tök ugyanaz lesz, mintha PHP-ben írtuk volna - tehát hatékonyság szempontjából mindegy.
Ez mondjuk többszörösen nem igaz. Ha belenézel egy smarty lefordított templatebe, akkor az azért némileg zsúfoltabb, mint amit kézzel csinálnál, de ez mondjuk nagyjából minden generált kódra igaz lehet. Másodsorban a smarty includolásával elég sok kódot behúzunk a rendszerbe, amit alap esetben (sokszor nincs opcode cache) parse-olni kell, futnia kell.
Alapvetően viszont nem értek egyet a szerzővel (pedig amúgy csípem nagyon :)), szerintem ha valami komolyabb terhelés nem indokolja, akkor nyugodyan lehet valami template rendszer, mondjuk smarty :), ha pedig ez már esetleg túl "drága" lenne, akkor lehet egyebekben gondolkodni, de még akkor is sok olyan eset lehetséges, amikor kár lemondani a kényelemről, és valamilyen szintű kimenet cacheléssel kint vagyunk a vízből.
akkor SZVSZ minden esetben érdemes valamilyen szinten a megjelenítési réteget különválasztani
Szerintem pedig van, amikor nem. A "Hello World!" bonyolultságú oldalaknál (három-négy oldalból áll, nem túl sok logikát tartalmaz, a design várhatóan nem fog változni) én feleslegesnek tartom. Például a http://web.zin.hu mögött sincs template, mert még ha meg is kell majd változtatni a designt, akkor sem lesz túl nagy feladat, hiszen gyakorlatilag másfél oldalról van szó.
Egy Smarty template lehet, hogy zsúfoltabb, de a PHP sebességénél sohasem volt szempont, hogy sebességoptimalizálás címén három utasításból csináljak egyet, mert akkor gyorsabb lesz.
Egy Smarty template lehet, hogy zsúfoltabb, de a PHP sebességénél sohasem volt szempont, hogy sebességoptimalizálás címén három utasításból csináljak egyet, mert akkor gyorsabb lesz.
Először is nem pont ezt írtad, és én arra reagáltam, másrészt pedig igenis számíthat terhelés szempontjából, hogy ott figyel-e egy smarty vagy sem. Nem véletlenül lett a smartylite sem.
Winstonnal vitáztunk privbe egy sort a template rendszerekről. Végül is oda lyukadtunk ki, hogy az egész oldalt nem szívesen csinálnánk meg template rendszerben, mert túl komplex és átláthatatlan lenne, azonban egy-két helyen, mint pl. a regisztráció aktivációs e-mail-jében elkerülhetetlen. De ilyenkor egyszerű templatezést használunk, azaz search-replace módszerrel dolgozunk.
Szerintem a sablonkezelők hasznát nem érdemes vitatni. A legtöbb esetben elég a változó alapján elágazás és a tömb ciklikus bejárása, ennél bonyolultabb kód a sablonba nem kell, mert áttehető a PHP kódba, azaz a sablon már csak egyszerű értékeket, tömböket, és logikai igaz/hamis feltételeket kap. Ha távol tartjuk magunkat a sablon oldali bonyolult logikai kifejezésektől, szrting-boncolásoktól, matematikai műveletektől, a sablon egyszerű és áttekinthető marad.
Egy sablonkezelő fő előnye pedig épp az egyszerű és áttekinthető kód (nem véltelenül nem XML-kompatibilisek), pl. smartynál a modifierek sokkal tömörebb leírást tesznek lehetővé, mintha egymásba ágyazott PHP függvényhívásokat kéne írnom. Szintén egyszerűsít pl. Smartynál az egyszerű delimiter, a szabványos <?php ?> helyett. Valóban helyettesíthető lehet a sablonkezelő php-val, de jóval csúnyább módon.
háát
-- hector
de
Végre...
hitvita?
Abban maximálisan egyetértek vele, hogy a smarty létrehozott egy új script nyelvet, aminek az értelmezőjét PHP-ban írták meg. Ennek én sem látom sok értelmét.
hitvita.
A Smarty-féle kijelentés legalább részben nem igaz. Smarty-val sokkal hatékonyabban lehet leírni szerkezeteket, sokkal hatékonyabb célnyelv tud lenni a feladatra, és a végeredmény is átláthatóbb tud lenni. Ezen kívül jogosultságokról is szó lehet, ha valaki csak a Smarty sablonokhoz fér hozzá, akkor sokkal kevesebbet tud a rendszerrel tenni, mint ha PHP-vel sablonozna. Ugye a végeredmény pedig hatékonyság szempontjából a Smarty használata esetén tök ugyanaz lesz, mintha PHP-ben írtuk volna - tehát hatékonyság szempontjából mindegy.
nem teljesen
A cikk ugye nem erről szól, hanem szerinte ha már használunk template kezelőt, akkor nem érdemes erre a célra egy új nyelvezetet bevezetni, főleg, ha ez némileg a teljesítmény róvására is megy.
Ha feltesszük, hogy webes alkalmazásokról beszélünk (felejtsük el a script farigcsálást), akkor SZVSZ minden esetben érdemes valamilyen szinten a megjelenítési réteget különválasztani, különben egy nehezen módosítható, rugalmatlan kódot kapunk. Az meg ugye nagyjából sosem igaz, hogy amit épp csinálunk, ahhoz nem kell majd hozzányúlni soha, még a legegyszerűbb rendszerek esetében sem.
Ez szerintem eléggé szubjektív dolog. Számomra is tetszetősebb a smarty template, de van akinek meg ugyanúgy kézre áll a HTML-be ágyazott PHP, sőt van aki szerint meg az XML/XSLT páros az üdvözítő, pedig aki nem találkozott még ezzel, annak valszeg fel áll a hátán a sző egy ilyentől.
Szerintem ez a kulcs. Egyrészt olyan szempontból, hogy megakadályozzuk, hogy a sitebuilder esetlegesen odacsúnyázzon, plusz egy grafikus beállítottságú embernek könnyebben emészthető a smarty vagy hasonló szintaktika, mint a PHP.
Ez mondjuk többszörösen nem igaz. Ha belenézel egy smarty lefordított templatebe, akkor az azért némileg zsúfoltabb, mint amit kézzel csinálnál, de ez mondjuk nagyjából minden generált kódra igaz lehet. Másodsorban a smarty includolásával elég sok kódot behúzunk a rendszerbe, amit alap esetben (sokszor nincs opcode cache) parse-olni kell, futnia kell.
Alapvetően viszont nem értek egyet a szerzővel (pedig amúgy csípem nagyon :)), szerintem ha valami komolyabb terhelés nem indokolja, akkor nyugodyan lehet valami template rendszer, mondjuk smarty :), ha pedig ez már esetleg túl "drága" lenne, akkor lehet egyebekben gondolkodni, de még akkor is sok olyan eset lehetséges, amikor kár lemondani a kényelemről, és valamilyen szintű kimenet cacheléssel kint vagyunk a vízből.
Felhő
Szerintem
Szerintem pedig van, amikor nem. A "Hello World!" bonyolultságú oldalaknál (három-négy oldalból áll, nem túl sok logikát tartalmaz, a design várhatóan nem fog változni) én feleslegesnek tartom. Például a http://web.zin.hu mögött sincs template, mert még ha meg is kell majd változtatni a designt, akkor sem lesz túl nagy feladat, hiszen gyakorlatilag másfél oldalról van szó.
Egy Smarty template lehet, hogy zsúfoltabb, de a PHP sebességénél sohasem volt szempont, hogy sebességoptimalizálás címén három utasításból csináljak egyet, mert akkor gyorsabb lesz.
Most ennyi fért bele a válaszadásba. :)
Re: Szerintem
Pont azzal kezdtem, hogy ezeket zárjuk ki. ;)
Először is nem pont ezt írtad, és én arra reagáltam, másrészt pedig igenis számíthat terhelés szempontjából, hogy ott figyel-e egy smarty vagy sem. Nem véletlenül lett a smartylite sem.
Felhő
Simple templates
Miért?
miért?
Mi az, ami miatt nem lehetne erre a célra template kezelőt használni?
Pont itt elkerülhetetlen, hiszen itt tényleg csak az eméített cserékről van szó, simán állhatnának a placeholderek helyén maguk a változók is.
Felhő
butaság
Egy sablonkezelő fő előnye pedig épp az egyszerű és áttekinthető kód (nem véltelenül nem XML-kompatibilisek), pl. smartynál a modifierek sokkal tömörebb leírást tesznek lehetővé, mintha egymásba ágyazott PHP függvényhívásokat kéne írnom. Szintén egyszerűsít pl. Smartynál az egyszerű delimiter, a szabványos <?php ?> helyett. Valóban helyettesíthető lehet a sablonkezelő php-val, de jóval csúnyább módon.
hehe