PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Smarty Template Engine
Postitaja: est_soft 2005-08-16 22:01:11
Kas see vastab tõele, et Smarty teeb suuremad rakendused aeglaseks ja koormab serverit? Siiamanni olen seda kasutanud ja pole mingit kiirusevahet märganud. (Kiire on smarty tänu sellele, et ta kompileerib tpl failid php failideks.)

sooviks eelkõige muidumehe ja finsofti kommentaare.
RE: Smarty Template Engine
Postitaja: . 2005-08-16 22:24:13
Miks mitte cdg, vaalaskala, aju jt tarkurite kommentaare?
RE: Smarty Template Engine
Postitaja: lk_ 2005-08-16 22:24:37
Mõista-mõista mis see on:


PHP kood:
 
<?php /* Smarty version 2.6.10, created on 2005-08-16 17:34:54
         compiled from admin/cat/list.htm */ 
?>
<?php 
require_once(SMARTY_CORE_DIR 'core.load_plugins.php');
smarty_core_load_plugins(array('plugins' => array(array('modifier''t''admin/cat/list.htm'7false),)), $this); ?>
<!-- <?php echo 'admin/cat/list.htm'?>
 -->
<div class="tree">
<ul>
<?php if (!function_exists('smarty_fun_testrecursion')) { function smarty_fun_testrecursion(&$this$params) { $_fun_tpl_vars $this->_tpl_vars$this->assign($params);  ?>
<?php $_from 
$this->_tpl_vars['list']; if (!is_array($_from) && !is_object($_from)) { settype($_from'array'); }if (count($_from)):
    foreach (
$_from as $this->_tpl_vars['element']):
?>
<li><?php echo $this->_tpl_vars['element']['Name']; ?>
 
 - <a href="admin.php?m=cat&amp;a=edit&amp;id=<?php echo $this->_tpl_vars['element']['ItemID']; ?>
"><?php echo ((is_array($_tmp='Edit')) ? $this->_run_mod_handler('t'true$_tmp) : smarty_modifier_t($_tmp)); ?>
</a>
 - <a href="admin.php?m=cat&amp;a=add&amp;pid=<?php echo $this->_tpl_vars['element']['ItemID']; ?>
"><?php echo ((is_array($_tmp='Add')) ? $this->_run_mod_handler('t'true$_tmp) : smarty_modifier_t($_tmp)); ?>
</a>
 - <a href="admin.php?m=cat&amp;a=delete&amp;id=<?php echo $this->_tpl_vars['element']['ItemID']; ?>
" onclick="return confirm('<?php echo ((is_array($_tmp='Are_you_sure_to_delete_with_subs')) ? $this->_run_mod_handler('t'true$_tmp) : smarty_modifier_t($_tmp)); ?>
')"><?php echo ((is_array($_tmp='Delete')) ? $this->_run_mod_handler('t'true$_tmp) : smarty_modifier_t($_tmp)); ?>
</a>
 - <a href="admin.php?m=cat&amp;a=change_order&amp;id=<?php echo $this->_tpl_vars['element']['ItemID']; ?>
&amp;dir=up">&nbsp;&uarr; </a>
  - <a href="admin.php?m=cat&amp;a=change_order&amp;id=<?php echo $this->_tpl_vars['element']['ItemID']; ?>
&amp;dir=down">&nbsp;&darr; </a>
</li>
   <?php if ($this->_tpl_vars['element']['Children']): ?>
   <ul><?php smarty_fun_testrecursion($this, array('list'=>$this->_tpl_vars['element']['Children']));  ?></ul>
   <?php endif; ?>
<?php 
endforeach; endif; unset($_from); ?>
<?php  $this
->_tpl_vars $_fun_tpl_vars; }} smarty_fun_testrecursion($this, array('list'=>$this->_tpl_vars['tree']));  ?>
</ul>
</div>
<!-- end <?php echo 'admin/cat/list.htm'?>
 -->


Õige vastus: "kompileeritud" menüü template...

Võtsin ka äsja Smarty kasutusele ja võrreldes varem kasutatud lihtsa kodukootud malliparseldajaga tundub asi veits aeglasem küll olevat.
RE: Smarty Template Engine
Postitaja: . 2005-08-16 22:26:20
lk_ poolt on ka alati korralikud postitused tulnud :D
RE: Smarty Template Engine
Postitaja: nojah_ 2005-08-16 22:51:50
TSITEERITUD:
lk_ poolt on ka alati korralikud postitused tulnud :D


lk_ = Lauri Kasvandik, pole midagi halba öelda.
RE: Smarty Template Engine
Postitaja: est_soft 2005-08-16 22:53:38
no ok, teised võivad ka oma arvamust avaldada. Peaasi, et mingid swenderid siia mõttetut iba ajama ei tule.
RE: Smarty Template Engine
Postitaja: scorps 2005-08-17 00:03:05
TSITEERITUD:
no ok, teised võivad ka oma arvamust avaldada. Peaasi, et mingid swenderid siia mõttetut iba ajama ei tule.


ei näe smarty sugusel templatemootoril üldse mõtet. ASi on nii keeruliseks ja suureks aetud et samahästi võiks html-i vahele juba puhast php-d kirjutada jääb ära liigne overhead. Keel praktiliselt emuleerib php-d kuid ainult süntaks on teine.

Jutt html ja loogika ehk koodi lahushoidmisest hakkab ka juba vaikselt smarty puhul häguseks minema, kuna seal templatede sees tehakse liiga palju asju et ma ei kujuta ette millisele disainerile sellise html-i julgeks ette anda ning väita et see on tunduvalt lihtsam aru saada kui näiteks php koodist endast. Olen juba kuskil foorumites näinud jutte päringutest templatede sees (uhh)!.


aga eks igaüks kasutab seda mis talle meeldib.

ise pooldan sellist kergemat nagu flexy kuna veebipõhiste aplikatsioonide puhul saab osad vormid teha nii et üldse mingeid pseudotage sinna hmtl-i ei panda.
Võimaldab vormielementide atribuute nn. run-timelt muuta, on lisaks selge, arusaadav ja ei sisalda mõttetult palju asju.
samuti kompileerib ära et oleks kiirem. ja vigast html-i käseb ka parandada.




RE: Smarty Template Engine
Postitaja: . 2005-08-17 00:37:47
TSITEERITUD:


ei näe smarty sugusel templatemootoril üldse mõtet. ASi on nii keeruliseks ja suureks aetud et samahästi võiks html-i vahele juba puhast php-d kirjutada jääb ära liigne overhead. Keel praktiliselt emuleerib php-d kuid ainult süntaks on teine.

Jutt html ja loogika ehk koodi lahushoidmisest hakkab ka juba vaikselt smarty puhul häguseks minema, kuna seal templatede sees tehakse liiga palju asju et ma ei kujuta ette millisele disainerile sellise html-i julgeks ette anda ning väita et see on tunduvalt lihtsam aru saada kui näiteks php koodist endast. Olen juba kuskil foorumites näinud jutte päringutest templatede sees (uhh)!.


aga eks igaüks kasutab seda mis talle meeldib.

ise pooldan sellist kergemat nagu flexy kuna veebipõhiste aplikatsioonide puhul saab osad vormid teha nii et üldse mingeid pseudotage sinna hmtl-i ei panda.
Võimaldab vormielementide atribuute nn. run-timelt muuta, on lisaks selge, arusaadav ja ei sisalda mõttetult palju asju.
samuti kompileerib ära et oleks kiirem. ja vigast html-i käseb ka parandada.
Smarty mõte seiseb selles, et hoida disainerit nn äriloogikast eemale. Disainerile ei anta nii palju "õigusi", et ta ei saaks midagi PHP-ga käkki keerata.

Uus süntaks muidugi tahab harjumist.
RE: Smarty Template Engine
Postitaja: muidumeez 2005-08-17 09:18:08
Smarty on vabalt allalaetav ja muudetav süsteem, mille eesmärgiks on hoida kokku programmeerija aega, et ta saaks tegeleda põhiülesandega: see on programmi äriloogika koostamine, jättes väljundiga tegelemise Smarty hooleks. Selline süsteem peaks maksimaalselt programmeerijat aitama pühenduda põhitegevusele, sama eesmärgiga on koostatud ka näiteks PEAR.
Samas on tegu paraja monstrumiga, mille kasutamine toob paratamatult kaasa ka perfomance kao (just selle probleemi vähendamiseks on ka nn kompileerimine).
Mina isiklikult ei laida ega kiida Smarty kasutamist, kindlasti on tegu ausa asjaga. Ise aga ei kasuta, sest kui oled natukenegi proffesionaalsem, saad oma templiidimootori kokku kirjutada, mis vastab just sinu vajadustele. Kindlasti on noortele progejatele Smarty-taoline süsteem abiks aru saamaks, milleks on templiit ja mis ta teeb. Aga jah, teatud momendil tahaks ikka enda oma (see võib muidugi ka snobism olla).
Mida aga arvata nn CMS-ist, mis koosneb PEAR+Smarty+FCKEditor pluss mõned nn "spagetid" ... Ehk on mõnel kodanikul sellise asja kohta oma väljend
RE: Smarty Template Engine
Postitaja: er 2005-08-17 09:28:24
SMS - Spaget Management System
RE: Smarty Template Engine
Postitaja: finsoft 2005-08-17 10:21:41
Smarty on tore asi aga minuarust mõttetu, loogika lihtne: 90% inimestest kasutab 25% Smarty võimalustest, lisaks on süsteem juba arenenud niivõrd keerukaks, et praktiliselt tuleb selgeks õppida uus süntaks, ma ei ütleks, et Smarty keerukamad templated väga "kood disainist lahus" loogikat järgiksid kui üdini aus olla....
RE: Smarty Template Engine
Postitaja: scorps 2005-08-17 12:58:54
TSITEERITUD:
Smarty mõte seiseb selles, et hoida disainerit nn äriloogikast eemale. Disainerile ei anta nii palju "õigusi", et ta ei saaks midagi PHP-ga käkki keerata.

Uus süntaks muidugi tahab harjumist.

disainerile tuleb anda võimalikult vähe üldse võimalusi tegeleda loogikaga. selletõttu on ka enamus templatemootorid nii tehtud et templates on võimalikult vähe asju. tegelikult on ideaalis template selline mis läbib nn. "dreamweaver testi" ja flexy saab sellele kohati väga lähedale tänu oma html atribuut tüüpi loogikale.
smarty template vaadets tundub nagu tegemist oleks samuti spagethi koodiga lihtsalt php asemel on mingi teine keel.
RE: Smarty Template Engine
Postitaja: scorps 2005-08-17 13:09:16
TSITEERITUD:
Smarty on vabalt allalaetav ja muudetav süsteem, mille eesmärgiks on hoida kokku programmeerija aega, et ta saaks tegeleda põhiülesandega: see on programmi äriloogika koostamine, jättes väljundiga tegelemise Smarty hooleks.

et siis kes teeb presentatsiooniloogika? kuidas smarty hoiab aega kui nagunii tuleb kogu see väljundiosa smarty pseudokeeles valmis kirjutada?


TSITEERITUD:

Mina isiklikult ei laida ega kiida Smarty kasutamist, kindlasti on tegu ausa asjaga. Ise aga ei kasuta, sest kui oled natukenegi proffesionaalsem, saad oma templiidimootori kokku kirjutada, mis vastab just sinu vajadustele.
alati pole otstarbekas kõike ise kirjutada ja proffessionaalsusega seda samastada ei saa.

TSITEERITUD:

Kindlasti on noortele progejatele Smarty-taoline süsteem abiks aru saamaks, milleks on templiit ja mis ta teeb.
vaidleks vastu et selline süsteem pigem hägustab algajate arusaamasid templatest kui mingist disainidokumendist, kus siis programm mingid kohad asendab ja disaineril oleks seda lihtne muuta. Smarty lausab propageerib seda et kuna php-d reaalselt templates pole ,siis võib suruda sinna pseduokeeles niipalju loogikat kui pähe tuleb.
Kõiksugune presentatsiooni loogika peaks asuma nn. template controller/helper objektis (MVC mõistes "view") ning template peaks olema võimalikult puhas.


RE: Smarty Template Engine
Postitaja: . 2005-08-17 13:11:24
TSITEERITUD:

Mida aga arvata nn CMS-ist, mis koosneb ...+Smarty+... pluss mõned nn "spagetid" ... Ehk on mõnel kodanikul sellise asja kohta oma väljend
Aga kas see pole hea, kui CMS koosneb nn standardsest template-mootorist (mulle tundub, et Smarty oleks enamlevinud, enimsoovitatud), mis võimaldab kodulehe tellijal programmeerijast sõltumatult tellida disain kuskilt mujalt või iga kell lasta uus teha.
RE: Smarty Template Engine
Postitaja: scorps 2005-08-17 13:15:54
TSITEERITUD:
Smarty on tore asi aga minuarust mõttetu, loogika lihtne: 90% inimestest kasutab 25% Smarty võimalustest, lisaks on süsteem juba arenenud niivõrd keerukaks, et praktiliselt tuleb selgeks õppida uus süntaks, ma ei ütleks, et Smarty keerukamad templated väga "kood disainist lahus" loogikat järgiksid kui üdini aus olla....


täpselt minu mõte.
ja tahaks näha mida see vaene disainer sellega peale peaks hakkama.
selletõttu pooldan ma peari flexy mootorit kuna seal on võimalik template'd teha väga disaineri sõbralikud.
ühe projekti ma viisin läbi kus kõigepealt tegin oma tempalted valmis koos süsteemi arendusega ja kui süsteem oli valmis tuli disainibüroolt teine html. Kuna templated olid kerged ja lihtsad toimus asendamine kergesti ja kiiresti. Kui mul oleksid need paksult mingit psedukoodi täis siis oleks asi tunduvalt vaevalisem olnud.

imho smarty tegijad hakkasid peale nagu kõik teised tegijad. Kuid tõenäoliselt neid huvitas ainult php koodi html-ist välja rookimine mitte äriloogika , presentatsiooniloogika ja disaini lahus hoidmine. Selletõttu kasvas sellest välja lausa keel omaette.
RE: Smarty Template Engine
Postitaja: aju 2005-08-17 13:31:38
See kus jookseb piir disaini ja programmiloogika vahel on iga programmeerija personaalne nägemus ja keegi ei käsi Smarty-isse kirjutada neid "segaseid" võimalusi - alati on ju võimalik see piir ise paika panna... rohkem ei oska kommenteerida, sest pole kunagi Smarty-t uurinud.

Smarty kasuks räägib see, et ta on suht palju levinud vidin ja seda tunnevad ilmselt paljud disainerid.
RE: Smarty Template Engine
Postitaja: vaalaskala 2005-08-17 14:14:40
Ideepoolest võib ju templatemootorit kasutada, aga selle kasutamine on õigustatud täpselt niipalju, kui palju võimalusi sealt kasutatakse. Ülejäänud pask mida ei kasutata lihtsalt koormab protsessi olgu selleks protsessiks kas programmeerimine, planeerimine, dokumenteerimine, versioonihaldus, koolitus jne.

Kui sa otsustad mingi templatemootori kasuks (olgu küsimustes selleks smarty), siis kõigepealt analüüsi enda jaoks läbi küsimused:

1. milliseid võimalusi ma oma lahenduses vajan?
2. kas neid võimalusi mida ma vajan saab smartyga lahendada?
3. kas smarty lihtsustab nende võimaluste realiseerimist?
4. kas ma vajan smartyt ka edaspidi tekkivate probleemide lahendamiseks?
5. kas smarty suudab tagada sellise järjepidevuse mida vajan?

tõenäoliselt on sul templatemootorit vaja:

1. enda töö lihtsustamiseks
2. mitme inimese töö ühtsetele alustele viimiseks/protsessi
3. ülesannete delegeerimiseks.

ja siit võid järeldada erinevaid asju ja jõuda uute küsimusteni:

1. Kui ma kõike teen ise kas siis on mul lihtsam kasutada smartyt või teha oma väljund?
2. kas teised inimesed suudavad smartyt kasutada ning kas nende tööd see lihtsustab või raskendab?
3. kas smarty võimaldab mul ülesandeid delegeerida(osaliselt punkt 2 ja ka lisaküsimusi teemal: kas selliselt delegeerides ma võidan aega, kas ei ole lihtsam endal kõik ära teha jne)?

küsimuste loetelu võib mingil määral jätata tuues sisse erinevate templatemoodulite plussid ja miinused
RE: Smarty Template Engine
Postitaja: scorps 2005-08-17 19:03:00
TSITEERITUD:
See kus jookseb piir disaini ja programmiloogika vahel on iga programmeerija personaalne nägemus ja keegi ei käsi Smarty-isse kirjutada neid "segaseid" võimalusi - alati on ju võimalik see piir ise paika panna... rohkem ei oska kommenteerida, sest pole kunagi Smarty-t uurinud.
Smarty kasuks räägib see, et ta on suht palju levinud vidin ja seda tunnevad ilmselt paljud disainerid.

miks siis kasutada üldse smartyt kui neid segaseid võimalusi pole üldse vaja? on palju väiksemaid ja paremaid templatemootoreid.
ma ei usu et smartyt tunnevad paljud disainerid ja et see eesti lõikes nii levinud. Kas sul on tuua äkki näiteid selle kohta kus on smarty kasutusel?
Pigem on eestis disaineritele õpetatud natuke php-d et nad saaksid oma asjad tehtud, sest eesti cms-e olen näind ikka veel spaghetina.
RE: Smarty Template Engine
Postitaja: lk_ 2005-08-17 19:15:07
TSITEERITUD:
Kas sul on tuua äkki näiteid selle kohta kus on smarty kasutusel?


Minuteada kasutab hv.ee smartyt, samuti meenub kohe saurus.ee cms.
RE: Smarty Template Engine
Postitaja: p0tsataja 2005-08-17 20:52:49
TSITEERITUD:

Minuteada kasutab hv.ee smartyt, samuti meenub kohe saurus.ee cms.


hv.ee kasutas smartyt
RE: Smarty Template Engine
Postitaja: monte_ 2005-08-18 18:08:58
http://www.sitepoint.com/article/beyond-template-engine

oli vihjatud ühes varasemas lugematutest templatedebattidest. pärast selle lugemist tekkis mul kohe tunne et see vastab küsimustele mis mul on seni olnud ja sundinud skeptiliselt asjasse suhtuma.

Loo moraal - programmiloogika on soovitav kuvamisloogikast lahus hoida. see ei tähenda ilmtingimata et PHP tuleb HTML-ist lahus hoida.

on adapteerinud seal toodud classid koos mõningate muudatustega ja hetkel kontseptsiooniga väga rahul.

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.0934510231018