PDA

Pogčedajte punu verziju : Alternativa za Smarty


oliver78
17. 01. 2006., 16:15
Bilo je reči o Smarty-ju. Ajde malo o alternativnim rešenjima.
Mislim na konkretne stvari. Jedna od najčešće korišćenih (moje skromno mišljenje) prednosti Smarty Template-a je keširanje stranica.
Ko god je želeo da u potpunosti odvoji html od php koristeći Smarty nailazio je na probleme pa je dosta morao da programira opet sam.
Znam da je bilo reči (barem na drugim forumima), ali ako može jedan jednostavan primer. Pa kome treba samo keširanje nema potrebe da ulazi u celu Smarty priču iz koje je teško iskobeljati se.

MorenoArdohain
17. 01. 2006., 16:54
Ko god je želeo da u potpunosti odvoji html od php koristeći Smarty nailazio je na probleme pa je dosta morao da programira opet sam.

Molim? Ko kaze da nije moguce odvojiti html od php koda?

jasmanac
17. 01. 2006., 17:58
@MorenoArdohain: Oliver78 nije rekao da ne moze vec da je potrebno dodatno programirati. Procitaj ponovo post pa ces i sam skapirati.

MorenoArdohain
17. 01. 2006., 18:00
A na sta mislis kad kazes: "dodatno programirati"?
Procitao sam i ostajem pri svome

phoenix
17. 01. 2006., 18:28
I mene zanima šta podrazumevaš pod izjavom da se mora dodatno programirati..

oliver78
17. 01. 2006., 18:35
Hteo sam da kažem da i pored dosta funkcija koje poseduje Smarty da bi neke stvari hteli da uradimo kako nama odgovara (zbog čitljivosti koda ili iz drugih razloga) moramo da ih pišemo sami. (Ne bih ponovo u raspravu za i protiv Smarty-ija).

Ovaj post pokrenuo da bih neko ostavio primer keširanja stranica na sličan mnačin kao što to radi Smarty ili opis funkcija koje koristi u tu svrhu.

MorenoArdohain
17. 01. 2006., 19:40
Izvini, rekao si da je potrebno dodatno programirati radi odvajanja html-a od php koda.. To apsolutno ne stoji. Mozes dodatno programirati za neke specificne funkcije, ali za to ne.

zextra
17. 01. 2006., 23:12
ma dajte neko konkretno resenje koje ne ukljucuje smarty, sta razglabate o tome sta je on rekao - svima je valjda savrseno jasno sta je smisao pitanja.

Bojan Zivanovic
18. 01. 2006., 19:38
Ok, evo, ja kazem Savant2 (http://www.phpsavant.com/)
malo pluginova, ali deluje interesantno.. Alternativa br1 po popularnosti

cvele
21. 01. 2006., 15:26
Za tpl resenja ja koristim nesto mnooogo jednostavnije... doduse verovatno malo sporije resenje...

Evo klase:
<?php
class HtmlTemplate {

var $template;
var $html;
var $parameters = array();

function HtmlTemplate ($template)
{
$this->template = $template;
$this->html = implode ("", (file($this->template)));
}

function SetParameter ($variable, $value)
{
$this->parameters[$variable] = $value;
}

function CreatePageEcho ()
{

foreach ($this->parameters as $key => $value)
{
$template_name = '{' . $key . '}';
$this->html = str_replace ($template_name, $value, $this->html);
}
echo $this->html;
}
function CreatePageReturn ()
{

foreach ($this->parameters as $key => $value)
{
$template_name = '{' . $key . '}';
$this->html = str_replace ($template_name, $value, $this->html);
}
return $this->html;
}
}
?>

Ilija Studen
21. 01. 2006., 17:07
Možda grešim, ali ovo Cveletovo rešenje ne podržava logične strukture već radi prost replace. Template engine koji ne omogućava implementaciju prezentacione logike je neupotrebljiv za ogormnu većinu zadataka.