3.1
Syntaxe PHP
3.1.1
Vložení PHP do HTML stránky
PHP kód se vkládá přímo do HTML stránky. Vkládá se jako instrukce pro zpracování. Tzn. začneme znakem < a následně vložíme název instrukce, což je „php“ , vložíme PHP kód a celý vložený kód ukončíme znakem >.
Příklad pro výpis jednoduché věty do okna prohlížeče bude vypadat takto:
Příklad
<!DOCTYPE html> <html> <body> <?php echo "Ahoj světe! Toto je první ukázka php skriptu."; ?> </body> </html>
Jak jsme psali v předešlé kapitole, pošleme-li požadavek ve formě URL na tuto stránku, server nalezne dle URL požadovaný soubor. Zjistí, že zde je technologie PHP. Předá tedy kód ke zpracování PHP programu. Ten kód zpracuje a předá již zpracovanou stránku v HTML. Podíváme-li se na zdrojový kód stránky v prohlížeči, bude bez PHP příkazů, jak můžete vidět na obrázku.
+
2. Zdrojový kód pro vložení PHP kódu.
Obr. 2. Zdrojový kód pro vložení PHP kódu.
Jak prohlížeč zobrazí kód uživateli, vidíte na dalším obrázku.
+
3. Zobrazení prvního kódu v prohlížeči
Obr. 3. Zobrazení prvního kódu v prohlížeči
Podíváme-li se na PHP kód, vidíme, že příkaz končí středníkem. Středníkem ukončujeme každý příkaz v PHP. Echo je pak příkaz neboli klíčové slovo jazyka PHP. U klíčových slov nerozlišujeme malá a velká písmena. Konvence ale je psát je většinou malými písmeny. Příkaz echo slouží k výpisu dat jakéhokoliv typu. Pošle řetězec v sobě obsažený prohlížeči. Ke stejnému účelu můžeme použít i příkaz print. Rozdíl mezi příkazy echo a print je, že pomocí příkazu echo můžeme vypsat i více než jeden argument. Argumenty příkazů echo a print se zapisují do závorek. U print se zápis neliší oproti zápisu bez závorek. Když je zapíšeme u příkazu echo, můžeme pak pro výpis dat zadat pouze jediný výstupní parametr.
3.1.2
Komentáře a úprava kódu
Pro programování je velmi důležitá vhodná úprava kódu. V PHP a v HTML můžeme libovolně vkládat prázdné znaky. To jsou mezery, tabulátory, znaky pro oddělení řádků. HTML i PHP tyto znaky ignoruje a díky tomu si můžeme vhodně strukturovat kód.
Pro lepší pochopení kódu pro další vývojáře a i pro sebe, když se k programu po nějaké době vracíme, můžeme používat komentáře.
Podívejme se na příklad komentáře a prázdných znaků.
Příklad
<!DOCTYPE html> <html> <body> <?php // Toto je jednořádkový komentář # Toto je také jednořádkový komentář /* Toto je komentář přes více řádků */ // Zde je ukázka použití prázdných znaků ECHO "ahoj světe!<br>"; echo "ahoj světe!<br>"; EcHo "Ahoj světe !<br>"; ?> </body> </html>
Ve zdrojovém kódu bude ale jen to, co vidíte na obrázku.
+
4. Ukázka zdrojového kódu komentáře poslaného prohlížeči
Obr. 4. Ukázka zdrojového kódu komentáře poslaného prohlížeči
Prohlížeč pak zobrazí uživateli kód bez prázdných znaků.
+
5. Ukázka výstupu v prohlížeči pro příklad s komentáři
Obr. 5. Ukázka výstupu v prohlížeči pro příklad s komentáři
Na příkladu vidíte, že příkaz echo není citlivý ani na velká a malá písmena.
3.1.3
Proměnné
Oproti příkazům PHP názvy proměnných citlivost na malá a velká písmena mají (jsou tedy case-sensitive). Proměnná se uvozuje znakem dolaru. Pro přiřazení slouží znak rovnítka. Podívejme se opět na příklad.
Příklad
<!DOCTYPE html> <html> <body> <?php $barvicka = "modrofialová"; echo "Moje sukně je " . $barvicka . "<br>"; echo "Moje čepice je " . $BARVICKA . "<br>"; echo "Moje kabelka je " . $Barvicka . "<br>"; ?> </body> </html>
Ve zdrojovém kódu pro prohlížeč vidíme opět kód bez PHP.
+
6. Zdrojový kód příkladu k proměnné v prohlížeči.
Obr. 6. Zdrojový kód příkladu k proměnné v prohlížeči.
Na dalším obrázku vidíme, jak je stránka zobrazena uživateli. Vidíte, že se druhá a třetí proměnná s názvy BARVICKA a Barvicka nezobrazily. Nemají přiřazenou totiž žádnou hodnotu. Hodnotu má jen proměnná s názvem barvicka.
+
7. Zobrazení příkladu proměnné v prohlížeči pro uživatele
Obr. 7. Zobrazení příkladu proměnné v prohlížeči pro uživatele
3.1.4
Typy proměnných
Jakmile použijeme proměnnou, přiřadí se jí implicitně i typ. Proměnná se tak i implicitně deklaruje. Typ proměnné se také může v době jejího používání měnit. Tato automatická změna typu proměnné může být ale i velmi nepříjemná. Proto existují i funkce na zjišťování typů proměnných. Podíváme se nejprve, jaké základní typy proměnných existují.
PHP podporuje následující datové typy:
  • String
  • Integer
  • Float (nebo také double)
  • Boolean
  • Array
  • Object
  • NULL
  • Resource
Proměnné skalárního typu (String, Integer, Float, Boolean) mohou obsahovat pouze vždy jen jednu jedinou hodnotu. Proměnné složeného typu (Array a Object) mohou být složené z více skalárních hodnot, případně z jiných složených hodnot.
Podívejme se opět na příklad. Použijeme funkci var_dump, která nám vypíše hodnotu a typ proměnné.
Příklad
<!DOCTYPE html> <html> <body> <?php $x = 5985; var_dump($x); $y = 10.365; var_dump($y); $z = 10.365; var_dump($z); ?> </body> </html>
Do jednotlivých proměnných přiřadíme hodnotu. Pomocí funkce var_dump pak vypíšeme hodnotu i typ proměnné. Opět vidíme, že do prohlížeče se kód pošle již bez PHP.
+
8. Zdrojový kód v prohlížeči pro zjištění typu proměnné.
Obr. 8. Zdrojový kód v prohlížeči pro zjištění typu proměnné.
Pro uživatele, v tomto případě tedy spíše pro vývojáře k ladění kódu, vidíme výpis na obrázku. Určitě jste si všimli, že je vše v jednom řádku. Budeme-li chtít mít údaje lépe uspořádané, zařadíme řádkování pomocí HTML příkazu br či řádkování pomocí \n.
+
9. Výpis v prohlížeči – zjištění typu proměnné.
Obr. 9. Výpis v prohlížeči – zjištění typu proměnné.
Funkcí pro zjišťování typu proměnné je samozřejmě celá řada, funkce var_dump je pouze jedna z nich.
3.1.5
Operátory
S proměnnými a hodnotami potřebujeme dost často manipulovat, k tomu nám slouží operátory. Jsou to symboly, které pracují s hodnotami a proměnnými tak, že je na nich provedena určitá operace (proto název operátory).
Operátory mají jeden, dva nebo tři argumenty. Operátor přiřazení má dva argumenty (nalevo je cíl, napravo je výraz). Argumenty nazýváme operandy neboli výrazy, nad kterými se provádí operace.
Druhy operátorů:
  • přiřazení
  • spojení
  • aritmetické operátory (sčítání, odčítání, násobení, dělení, modulo)
  • zvýšení a snížení o jedničku
  • odkazy
  • logické operátory
  • operátor rovnosti
  • logické spojky
  • bitové operátory
  • ternární operátor
  • operátor potlačení chybového hlášení
  • operátor spouštění
Operátory a práci s nimi si nejlépe vyzkoušíte na příkladech. Za všechny uvedu jeden příklad. Další si pak vyzkoušejte sami dle manuálu např. na php.net.
Příklad
<!DOCTYPE html> <html> <body> <?php $x = 10; echo ++$x; echo "<hr>"; $y = 6; echo $x % $y; ?> </body> </html>
Na prvním obrázku vidíte zdrojový kód v prohlížeči a na druhém kód zobrazený prohlížečem pro uživatele.
+
10. Zdrojový kód v prohlížeči k operátorům.
Obr. 10. Zdrojový kód v prohlížeči k operátorům.
+
11. Zobrazení výstupu v prohlížeči – příklad k operátorům.
Obr. 11. Zobrazení výstupu v prohlížeči – příklad k operátorům.
3.1.6
Podmínky a větvení
Příkazy pro podmínky a větvení nám umožňují vykonání různých příkazů, které se provedou při splnění nebo nesplnění určité podmínky. Je-li výraz roven true, příkaz se provede. Je-li roven false, příkaz se neprovede.
Pro větvení můžeme použít příkaz if s nepovinnou částí else a příkaz switch, který obsahuje větve s case, a případně break pro zastavení. S podmínkou jste se už určitě setkali alespoň v JavaScriptu, tak se rovnou podíváme na příklad.
Příklad
<!DOCTYPE html> <html> <body> <?php $t = date("H"); echo "<p>Čas na serveru je " . $t; echo ", a v závislosti na času se vypíše pozdrav:</p>"; if ($t < "10") { echo "Dobré ráno!"; } elseif ($t < "20") { echo "Dobrý den!"; } else { echo "Dobrou noc!"; } ?> </body> </html>
Podíváme se zase na zdrojový kód a na výpis. Budete-li si příklad zkoušet sami, výpis bude samozřejmě záležet na době, kdy si ho zkoušíte.
+
12. Výpis zdrojového kódu – určení pozdravu podmínkou.
Obr. 12. Výpis zdrojového kódu – určení pozdravu podmínkou.
Zobrazení v prohlížeči závisí na čase, kdy program spouštíme.
+
13. Ukázka zobrazení v prohlížeči – určení pozdravu podmínkou
Obr. 13. Ukázka zobrazení v prohlížeči – určení pozdravu podmínkou
3.1.7
Cykly
Cykly mají v PHP obdobnou syntax jako u jiných programovacích jazyků. Můžeme použít čtyři druhy cyklů: while, do..while, for a foreach.
Uvedeme si jeden příklad za všechny.
Příklad
<!DOCTYPE html> <html> <body> <?php for ($x = 0; $x <= 10; $x++) { echo "Číslo je: $x <hr>"; } ?> </body> </html>
Ve zdrojovém kódu poslaném prohlížeči příklad vypadá takto:
+
14. Zdrojový kód v prohlížeči příkazu pro cyklus for
Obr. 14. Zdrojový kód v prohlížeči příkazu pro cyklus for
V prohlížeči pro uživatele vidíme vypsaná čísla od jedné do deseti a oddělená vodorovnou čarou.
+
15. Výpis v prohlížeči příkazu pro cyklus for
Obr. 15. Výpis v prohlížeči příkazu pro cyklus for
Podíváme se na podobný příklad pomocí příkazu while. Příkaz while nemá vše na jednom místě, a tak nesmíme zapomenout na inicializaci před příkazem a na změnu proměnné uvnitř těla příkazu.
Příklad
<html> <body> <?php $i=1; while($i<=20) { echo "číslo je " . $i . "<hr>"; $i++; } ?> </body> </html>
Prohlížeč zobrazí uživateli jednotlivá čísla s textem „číslo je 1“ atd., která budou oddělena vodorovnou čarou.
+
16. Výstup cyklu while v prohlížeči.
Obr. 16. Výstup cyklu while v prohlížeči.
Zdrojový kód, který dostane prohlížeč, je opět bez php kódu.
+
17. Ukázka zdrojového kódu po odeslání prohlížeči – cyklus while.
Obr. 17. Ukázka zdrojového kódu po odeslání prohlížeči – cyklus while.