« 1 2
Autor Zpráva
Nox
Profil
Budulinek
A myslíš tedy, že ta komplexnost má vliv na rychlost? Někteří tvrdí, že Smarty je hodně rychlý, tak třeba kvůli té kompilaci do PHP...někteří že není,
tak těžko z toho něco usoudit
Joker
Profil
Jelikož jsem byl zvědavý, udělal jsem vlastní jednoduchý benchmark :-)

Zatím jsem neměl dost času na nějaké detailní testy, tak jenom první poznatky pro jednoduchou šablonu- 15 nahrazovaných proměnných a vložení jedné jiné šablony.
Zpracování takové šablony je ale hodně rychlé, takže mezi jednotlivými testy jsou v závislosti na vytížení serveru velké rozdíly. Nějaké realistické srovnání asi bude potřeba dělat na lokálním počítači.
Přesto se zatím zdá, že JoresTemplate je pro takovouhle šablonu výrazně rychlejší než Smarty :-)
Během pár desítek testů Smarty většinou dostahuje časů mezi 0,019 - 0,060s, zatímco JoresTemplate 0,004 - 0,03s. připomínám, že to jsou orientační výsledky bez přesné metodiky, takže bych z nich ještě nedělal nějaké závěry.
Až budu mít víc času, zkusím udělat testy s jasnou metodikou.

Jestli máte ještě nějaké další systémy, které bych měl porovnat, dejte vědět ;-) Ještě zkusím čisté PHP.
joe
Profil
ninja
Kdepak. Zřejmě jsi nečetl část, kde jsem psal „"jen je vhodné připravit data v modelu a ne až ve view

Tím se myslí i to, že pokud v proměnné má být pole, tak tam bude pole i když bude prázdné, logicky. Takže mnou uvedený příklad žádnou chybu nevypíše a ve výsledném HTML se objeví jen <ul></ul>, stejně jako v tom tvém, i když tam nic nebude.
joe
Profil
Joker
Příkazy šablonovacího systému se při zpracování samozřejmě odstraní
Tak to je jasné :-)
Jen se mi nelíbí to, jak to je v těch HTML komentářích, protože když člověk píše do HTML komentáře, může se to motat dohromady, přišlo by mi to přehlednější třeba ve složených závorkách, jak to dělá každý druhý systém.
fandaa
Profil
joe
..., přišlo by mi to přehlednější třeba ve složených závorkách, jak to dělá každý druhý systém.
Není problém si to poupravit. ;-)
Joker
Profil
joe
Jen se mi nelíbí to, jak to je v těch HTML komentářích, protože když člověk píše do HTML komentáře, může se to motat dohromady, přišlo by mi to přehlednější třeba ve složených závorkách, jak to dělá každý druhý systém.
Když o tom tak přemýšlím, bylo by to snad i jednodušší, než to současné :-) Jak jsem psal, předtím jsem si hrál s FastTemplate, kde jsou bloky pomocí komentářů, takže mě to ovlivnilo.
Ani by to nebyla tak složitá změna... navíc když už bych to dělal, mohl bych to rovnou zjednodušit... hmm, ještě to zvážím :-)
Mastodont
Profil
Včera večer jsem trochu srovnával různé systémy a došlo mi, že hodně věcí řeší preprocesor, podobně jako to má Smarty - alespoň pokud budeme brát šablony hlavně jako nástroj pro návrháře, aby "se nemuseli učit to hrozné PHP" ...
Nástin - šablona:
<h1>Články</h1>
@records@
<h2>@rec:title | upper@</h2>
<p style="content">@rec:content@</p>
@/records@

Preprocesor z toho udělá:
<h1>Články</h1>
<?php
while ($row = mysqli_fetch_assoc($result)) { ?>
    <h3><?php echo htmlspecialchars(mb_strtoupper($row['title'], "utf-8"), ENT_QUOTES); ?></h3>
    <p style="content"><?php echo htmlspecialchars($row['content'], ENT_QUOTES); ?></p>
<?php } ?>

A v kódu pak stačí:
$result = mysqli_query(...);
ob_start();
if ($result && mysqli_num_rows($result)>0) {
    include 'block.php';
} else {
    echo "Chyba ...";
}
$block = ob_get_clean();
« 1 2

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: