Portál AbcLinuxu, 12. května 2025 21:15
Řešení dotazu:
?>
, aby do výstupu nevlezl náhodou nějaký zbytečný prázdný řádek na konci souboru.
Jen tak pro úplnost: Je vhodné vynechávat poslední uzavírací ?>
, aby do výstupu nevlezl náhodou nějaký zbytečný prázdný řádek na konci souboru.
Co to ? To nedává smysl...
<?php 10 include("config.php"); 20 include("knihovna.php"); 30 include("nette.php"); 40 50 header('Content-Type: text/html; charset=utf-8'); 60 70 vypiš_hlavičku(); 80 vypiš_články(); 90 vypiš_patičku(); ?>Pokud ty includované soubory obsahovaly na konci nový řádek, zahlásí to chybu (Headers already sent!) na řádku 50, protože to poslalo nový řádek ještě před hlavičkami.
<div><?php echo $var; ?></div>takto?
<div><?php echo $var;</div>
<?php echo "<div>$var</div>";Do PHP však už nedávám ani kousek HTML, ani jednu HTML značku. Vše mám ve výstupní šabloně.
<li>{POLOZKA}</li>
a potom to celé zasadíš do ďalšej šablóny kde je <ul>{POLOZKY}</ul>
. Tzn. máš 2 súbory so šablónami, kde je len HTML a potom jeden súbor kde je len PHP, ktorý to dá dohromady cez foreach.
$odkazy
:
<?php $doc = new DOMDocument(); $menu = $doc->createElement('menu'); $odkazy = array( array("První položka", "http://prvni"), array("Druhá položka", "http://druhy"), array("Třetí položka", "http://treti"), ); foreach ($odkazy as $odkaz) { $item = $doc->createElement('item', $odkaz[0]); $item->setAttribute('href', $odkaz[1]); $menu->appendChild($item); } $doc->appendChild($menu); $sablona = new DOMDocument(); $sablona->load('menu.xsl'); $xsl = new XSLTProcessor(); $xsl->importStyleSheet($sablona); echo $xsl->transformToXML($doc);Trasformaci DOMu na webstránku už dělá šablona. Možná to vypadá složitě, ale když je to správně zapouzdřené ve vieweru, tak to vůbec složité není ani pro hodně komplexní stránku. Navíc je to velmi rychlé.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.