
PHP umožňuje pro zápis HTM kódu mj. práci s tzv. unikoých sekvencí (v předcházejících dílech vysvětleno: Zpětné lomítko), což ovšem skript PHP značně znepřehledňuje. Tento způsob používá také řada redakčních CMS systému (např. PHP-Fusion). Avšak výstup značkování HTML lze ve větvení skriptu PHP příkazem if podstatně zjednodušit. O tom je tento článek.
Filozofie unikových sekvencí vychází z toho, že před uvozovky, které chceme v příkazu if obejít, prostě vkládáme obrácená lomítka. Jednak je to práce titěrná a otravná, hlavně však takový PHP skript je pak nepřehledný. Hlavně, když do PHP potřebujeme vkládat větší množství kódu HTML. Řešením je proto "vyskočit" z průběhu PHP skriptu a navázat na HTML kód.
Vyskočit z PHP...
Tedy - jak jsem napsal, lze použit takový zápis v příkazu if souboru PHP, kde před vložením HTML značkování vyskočíme a vložíme klasický HTML zdroják. Jakmile HTML kód ukončíme běžným způsobem, opět navážeme ve zpracování PHP skriptu. V praxi to vypadá následovně:
Příklad 1
<?php
# Vložíme začátek podmínky
if ($nějaký_název_podmínky) {
# Zde průběh PHP ukončíme, abzchom přešli na HTML
?>
-----
# Zde můžeme tedy dále vložit zápis klasického HTML
<div class="nějaký_styl">Nějaký_název<br />
<a href="nějaký_soubor.php">Nějaký název</a><br />
<a href="nějaký_soubor.php">Nějaký název</a><br />
<a href="nějaký_soubor.php">Nějaký název</a><br />
<a href="nějaký_soubor.php">Nějaký název</a><br />
</div>
-----
# Zde musíme opět "přepnout" do PHP skriptu
<?php } ?>
Jak tedy vidíte skript PHP vypadá takto.
- Nejprve jsme v něm na úvod celého bloku vložili počátek podmínky. Avšak za počáteční závarkou jsme blok PHP ukončili.
- To nám umožnilo vložit HTML kód, tedy klasické tagy a odkazy, jako bychom byli na běžné HTML stránce.
- Na závěr jsme se museli dostat opět zpět do PHP skriptu, do nějž nás "přepnul" tento zápis: <?php } ?>. Ten tedy ukončil celý vytvořený blok PHP s podmínkovým příkazem "if".
Tento způsob je určitě jednodušší a přehlednější, než který se v PHP ještě stále ze setrvačnosti používá. Podívejte se ted na tento kostrbatý a nepřehledný zápis, který vám nedoporučuji. Musíte v tomto případě psát příkazy "echo", musíte vše dát do tabulek, musíte používat obrácená lomítka. Prostě - posuďte sami:
Příklad 2
<?php
if ($nějaký_název_podmínky) {
// Musíme použít příkaz echo
// Musíme použít tabulky
// Musíme použít obrácená lomítka pře uvozovkami
echo "<table>\n<tr>Nějaký_název</tr>\n";
echo "<tr><td>a href=\"nějaký_soubor.php\">Nějaký název</a></td>";
echo "<td>a href=\"nějaký_soubor.php\">Nějaký název</a></td>";
echo "<td>a href=\"nějaký_soubor.php\"<Nějaký název>/a></td>";
echo "<td>a href=\"nějaký_soubor.php\"<Nějaký název</a></td></tr>";
echo "</table>\n\n";
}
?>
Resumé
Jak jste se tedy rozhodli? Rozhodně použít Příklad č.1! Ten je jednodušší a přehlednější. Navíc formatování do tabulek řešíme elegantně pomocí CSS Kaskádových stalů. A co hlavního - odpadá ruční doplňování lomítek před uvozovkami, což především u větších skriptů způsobuje často chyby. Takže i proto stojí Příklad č.1 zato, aby byl používán.
Autor: Květoslav Vícha
Zatím nikdo nekomentoval. Buďte proto první a vložte svůj komentář.
Aby jste mohli přidávat komentáře, musíte být přihlášený.