Autor Zpráva
Yenkee
Profil
Prosím vás, měl bych dotaz. Nejprve malý příklad:

<?php ?>
<html>
<head>
<title><?php ?></title>
</head>
<body>
<?php ?>
texttexttexttexttexttexttexttexttexttexttextetext
<?php ?>
texttexttexttexttexttexttexttexttexttexttextetext
<?php ?>
texttexttexttexttexttexttexttexttexttexttextetext
texttexttexttexttexttexttexttexttexttexttextetext
texttexttexttexttexttexttexttexttexttexttextetext
<?php ?>
texttexttexttexttexttexttexttexttexttexttextetext
<?php ?>
</body>
</html>
<?php ?>

Myslíte, že když budu mít PHP takhle nějak roztroušené do desítek částí, že to při zpracování serverem nijak nevadí? Já vím, funguje to, ale jestli to třeba nezabírá moc času procesoru.
Díky. :)
pmasarik
Profil
Nie som na to odborník, ale môj názor je že ak by si mal

<?php
echo 'texttexttexttexttexttexttexttexttexttexttextetext
texttexttexttexttexttexttexttexttexttexttextetext
texttexttexttexttexttexttexttexttexttexttextetext';
?>

tak to bude trvať dlhšie, lebo to musí celé prekúsať aby zistil či tam nie je niečo na spracovanie a to mu určite zaberie viac času.

Toť môj názor určite by sa to dalo otestovať...
mila
Profil
Vadit by to nemělo, co jsem slyšel, tak by to mělo být rozhodně rychlejší, než kdyby si dlouhé texty vypisoval přes echo..
Tohle ale většinou nebývá bottleneck..
rabbit
Profil
No nevim, ty rozdíly nebudou tak velké. V tom pmasarikově příkladu parsuje to echo 'textttext...'; a hledá neescapovaný (fuj to je slovo) apostrof. Respektive prochází to znak po znaku, dokud nenarazí na koncový (neescapovaný) apostrof. HTML text ale musí parsovat taky ... hledá přece další tag <?php.

U delšího souvislého textu je spíš horší uzavření do uvozovek místo do apostrofů ... testuje se to pak na o moc více významových znaků.

Teoreticky by měl být rozdíl ne v "prokousávání", ale v tom, co udělá s načteným znakem ... pokud je to v html bloku, může jej rovnou poslat na output buffer. V případě parsování echo 'textttext...'; si musí znaky podržet v paměti až do znaku středníku. Za řetězcem může být například * 1; a pak se "vše" mění. Na druhou stranu ... output buffer je taky v paměti (kde jinde), takže to nakonec bude skoro jedno.

Když jsem něco podobného testoval (s microtime), byly rozdíly minimální a v mezích možné chyby měření ;-).

Závěr: Nejdůležitější hledisko výběru zápisu je tak PŘEHLEDNOST KÓDU. A tak co je lepší záleží na konkrétní situaci.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0