Dotaz od lamky

Jakej způsob generování html je lepší?
mam v php třeba if(...){echo' html tagy...';}
nebo je lepší if(...){?> html tagy... <?php} ....
nevidim v tom rozdil... :)
pokud to nevo ude kratke treba "ahaoj" tak se ti vyplati prvni zpusob
pokud to ale bude nejaka slozitejsi staticka html struktura tak bych volil ten druhej jinak to vyjde na stejno
Ještě jeden dotázeček.
Jak můžu dát do proměnné NULL? Nebo, aby byla prostě prázdná.
1) Barakuda to vystihuje celkem přesně, já ale přesto daleko časteji používám echo(); Zdá se mi, že sice bude o nějakou tu milisekundu pomalejší, ale v kódu mi to nenarušuje tolik odsazování a odřádkování.

Pokud si napíšeš jednoduché funkce pro přidávání odsazení a zalomení řádku, můžeš i tak vygenerovat nádherně strukturovaný html kód :-)

2) $promenna = null;
>>1) Barakuda to vystihuje ....

no kdyz ten html kod mezi ?><? udelas strukturovanej tak ti tak zustane
av tom echo() to taky jdestrukturovat ale ja to spise pozivam kdyzse tato cast kodu mění mpř. echo ("Právě je tu $suma čtená$rader"); kde v poměnné suma jepočet lidí a v promněnné $readred se mění text na čtenář/ů/i
Ja to radši řešim tou druhou možností, vlastně všude., kde si nejsem jistej, jestli to nebudu zesložiťovat.
Já to řeším, jak psal Barakuda. Pouze v případě, že bych tím výrazně porušil přehlednost kódu (PHP), tak použiji echo i na větší části. Jinak strukturováním toho, co zapíšu přes echo se nezabývám, neboť strukturuji kvůli sobě a jak se to pošle do prohlížeše je mi celkem jedno.
JJ, díky.
Ještě jsem narazil na jednu konstrukci. Pochopil jsem, že je to nějaký druh ifu. Ale radši mi to ještě pls podrobnějc vysvětlete.

($some_var) ? print('true'): print('false');
dalo by se to prepsat jako:
if ($some_var) print('true');
else print('false');

priklad: $mensi = (5 < 7) ? "ano" : "ne";

za otaznikem je pokud je splnena podminka
za dvojteckou je else, neboli neni splnena
Samozřejmě, že požívání ' ' a '\n' může být zbytečnost.

Já si ale dost často kontroluji vygenerované html a je to pak pěkně přehledné.
echo dělám např. takto:

echo M(1).'<h3>Databáze zápasů</h3>'.N();
echo M(2).'<table'.N();
echo M(3).'<thead>'.N();
echo M(4).'<tr><th>družstvo</th><th>zápas</th><th>výsledek</th></tr>'.N();
echo M(3).'</thead>'.N();
echo M(3).'<tbody>'.N();
atd.

kde M(x) přidá x odsazení a N(y) přidá y zalomení.

Možná vám to přijde jako zhovadilost, ale mě se to tak líbí :-)
No pro mě je spíš důležitější, jakej způsob výhodnější (rychlejší, úspornější, míň náročný na server, atd.)
Tak to bych řekl, že asi přímý kód mezi ?> <?php.

Ale myslím si, že rychlost pro tebe stejně nehraje žádnou roli. Copak máš tak pomalý server? Tady na webuzdarma to platí dvojnásob. Nemůžu mluvit za admina, ale s rychlostí problémy určitě nejsou.

Navíc spousta jiných příkazů je daleko náročnějších, než echo.

Takže bych to už konečně uzavřel:
JE ÚPLNĚ JEDNO, CO POUŽIJEŠ! Pro každou situaci se hodí něco jiného.
Nejde o to, že by se to tu projevilo, ale o to, mít to dobře napsaný.:))
Jdi už s tím dotazem sakra někam!

Obě dvě syntaxe jsou správné, účelově srovnatelné, obsahově stejné, záleží jen na tobě! Tak se rozhodni a neotravuj už.

Promiň, že jsem sprostý, ale je normální, aby se člověk i po 10 vyčerpávajích odpovědích ptal pořád na to samé?
A co bys tedy doporučil používat?

:-))

Ne, sorry, nebudu provokovat Tvoje nervy. :-)) Jinak ty funkce na mezery a odsazení nejsou špatný a docela se mi líbí. Já osobně používám jen '\n', ale taky moc často nekoukám na vygenerovaný kód (což je asi chyba, nicméně jestli to funguje, tak to vidím a jestli je to i vpořádku napsaný mi zas řekne validátor).