jaka je rychlost latte proti php

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
spiider
Člen | 162
+
0
-

Zdravim, chci se jenom zeptat jak je to s rychlosti sablonovaciho systemu latte. Napr. tyto kody

<p>{$data->fname}</p>
<p>{$data->lname}</p>

proti:

<p><?= $data->fname ?></p>
<p><?= $data->lname ?></p>

Proti sablonovacim systemum nic nemam, ale nezpomaluji pri slozitejsich vecech web nez vse prohlizec prekompiluje?

Diky

duke
Člen | 650
+
0
-

Ke zpomalení dojde jen napoprvé, protože výsledek kompilace se cachuje.

mkoubik
Člen | 728
+
0
-

Kompiluje se to na straně serveru a vždy jen jednou. Kód

<p>{$data->fname}</p>

se zkompiluje do php

<p><?php echo Nette\Templating\Helpers::escapeHtml($data->fname, ENT_NOQUOTES) ?></p>

a to se includne.
Takže kromě toho, že je to v podstatě stejně rychlé, tak se to i správně escapuje (narozdíl od php kódu který jsi napsal ty).

Aurielle
Člen | 1281
+
0
-

A mimochodem, prohlížeč nic nekompiluje. Kompilování probíhá na serveru a pouze při prvním načtení šablony, jak již bylo zmíněno.

Nox
Člen | 378
+
0
-

To první načtení je tak zanedbatelná položka v celkovém produkčním běhu, že se dá říct, že zpomalení nenastává vůbec

spiider
Člen | 162
+
0
-

Ok diky za reakce, kdyby mel nekdo jeste nejake dalsi postrehy v cem by co mohlo byt a proc vyhodnejsi rad si to prectu.
Diky

Aurielle
Člen | 1281
+
0
-

Spíš nám řekni, proč považuješ za výhodnější čisté PHP. Já nevidím jediný důvod, proč nepoužít Latte, zvlášť když je jeho podpora v presenterech už zajištěna.

spiider
Člen | 162
+
0
-

Nenapsal jsem že čisté php považuji za výhodnější, jenom mě zajímalo zda jsou při použití latte nějaké, třebaže i minimální nevýhody

Nox
Člen | 378
+
0
-

Tak určitě zabezpečení, Latte ti správně a automaticky upraví výstup podle toho, kam přesně v šabloně proměnnou vypisuješ (lze manuálně vypsat bez zabezpečení přidáním hrozícího !), včetně CSS a JavaScriptových kontextů.

Subjektivně mnohem přehlednější, intuitivnější.

Zjednodušováky jako automatický iterátor, sep, breakIf…

Případně tě taky víc tlačí do toho mít v šabloně jen čistě výstupní záležitosti a žádnou logiku, ona použít jde a celkem bez problému, ale mnohem míň to k tomu člověka svádí.

Nevýhoda je snad jen ta trocha učení, ale Latte je velmi intuitivní, je to hned. Osobně si ani nepamatuju, že bych kdy potřeboval lézt do zkompilovaného kódu, pokud vím tak obrazovka Tracy ti zobrazuje chybu přímo v původní Latte šabloně. Nevýhody mě moc nenapadají

Editoval Nox (7. 5. 2013 10:58)