PHP kód lze zapisovat několika způsoby. Lze použít syntax, které odpovídá syntaxi jazyka C nebo syntax, která připomíná spíše Pascal či Perl.
Další rozdíl spočívá ve způsobu prokládání PHP kódu HTML (xHTML) značkami. V současnosti je již stalo zvykem, že soubory s příponou .php obsahují jen PHP kód a ostatní se nějaký způsobem natahuje z jiných souborů nebo je je HTML umístěno v rámci fukcí či metod objektů. Důvody jsou na snadě. Je potřeba učinit kód čitelný i zpětně a to nejen pro jeho autora.
U složitějších aplikací se ale dostaneme do situace, kdy i tento přístup je nepřehledný či dokonce nepraktický. Pro s výhodou využijeme tzv. phtml šablony. Ty obsahují převážně HTML kód, jehož výpis je pomocí php zautomatizován či podmíněn.
Ukažme si několik příklad, jak to může vypadat od přímého přístup až po kombinaci .php a .phtml šablon
<? $x=" <table>"; $q="select * from seznam order by prijmeni"; $vysledek=mysql_query($q); while ($zaznam = mysql_fetch_array($vysledek)) { $x.= " <tr> <td> <img src='./foto/".$zaznam[obr]."' alt=''> </td>"; $x.= " <td> <p>".$zaznam[prijmeni]." ".$zaznam[jmeno]." </p> </td>"; $x.= " <td> <p> <a href='kart.php?id=".$zaznam[id]."&akce=smazat'>Smazat </a> </P> <p> <a href='kart.php?id=".$zaznam[id]."&akce=upravit'>Upravit </a> </P>"; $x.= " </tr>"; } $x.=" </table>"; echo $x; ?>
<?php function vypis() { $x=" <table>"; $q="select * from seznam order by prijmeni"; $vysledek=mysql_query($q); return mysql_fetch_array($vysledek); } echo vypis();
Fukce jsou obvykle ve zvláštním souboru.
<?php function vypis() { $pole=array(); $q="select * from seznam order by prijmeni"; $vysledek=mysql_query($q); return mysql_fetch_array($vysledek)) } ?> <?php <?php foreach ($pole as $key=>$value):?> <tr> <td> <p> <?=$value ?> </p> </td> </tr> <?php endforeach ?> </table>
Případně se využívají fuknce (metody) obsažené v .php souborech a .phtml složí jen k formátování.