První PHP script

Než napíšeme náš první PHP script, tak si nejdříve musíme teoreticky vysvětlit, jak probíhá načítání stránky s použitím PHP.

  1. Nejprve uživatel ve svém webovém prohlížeči zavolá nějakou konkrétní URL, například http://baraja.cz/index.php
  2. Následně webový prohlížeč sestaví tzv. request, což je speciální požadavek pro webový server, který se pošle do internetu. Obsahuje informace o žádané stránce, základní identifikaci prohlížeče a nastavení, informace o cookies a podobně.
  3. Tento request doputuje internetem až na webový server (nejčastěji Apache), který požadavek přečte a začne sestavovat odpověď.
  4. Protože se podle volané URL adresy jedná o PHP script a žádáme soubor s názvem index.php, tak Apache načte z kořenového adresáře na disku soubor index.php a předá jej do PHP interpretu, což je program, který umí zpracovat samotný PHP kód a na základě něj sestavit HTML kód, který se pošle zpět uživateli.
  5. Po sestavení HTML kódu se odpověď pošle zpět uživateli (tomu se říká response) a webový prohlížeč stránku vykreslí běžným způsobem, jako by se jednalo o čisté HTML.

Všimněte si, že se webový prohlížeč nedozví vůbec nic o obsahu PHP scriptu, ale zpracovává až vygenerované HTML, takže vaše scripty a obsah serveru zůstávají v bezpečí.

Pojďme vytvořit první script

Napsání prvního scriptu předpokládá, že máte v počítači rozchozený webový server. Pro Windows je nejlepší XAMPP (stáhněte si verzi PHP 7.0. nebo novější), na Macu funguje XAMPP úplně stejně, jako na Windows. Pro Linux doporučuji LAMP server (na Lamp serveru běží i tento web).

Název souboru s PHP scriptem musí končit příponou .php, aby webový server poznal, že jej chceme zpracovat podle pravidel jazyka PHP. Pojďme si tedy založit například soubor index.php, který bude obsahovat kód hlavní stránky našeho webu.

Otevření souboru

Otevřte tento soubor ve vhodném textovém editoru pro psaní zdrojového kódu.

Ve Windows je pro začátek vhodný například Sublime Text, který hezky obarvuje syntaxi (pravidla jazyka) a kód je tedy lépe čitelný. Později doporučuji zakoupit program PhpStorm, který se hodně používá ve firmách a nabízí možnost programování ve více lidech.

Napište základní strukturu HTML stránky

Základní kopyto HTML stránky asi už znáte:

<!DOCTYPE HTML>
<html>
    <head>
    <title>Můj první PHP script</title>
    <meta charset="UTF-8">
    </head>
    <body>

    </body>
</html>

Veškerý HTML kód bude zpracován běžným způsobem a pro designování stránek bude našim velkým pomocníkem. PHP využívá principů HTML a CSS ve velké míře.

Oddělení PHP scriptu od HTML kódu

PHP je hlavně šablonovací jazyk, který na vhodná místa v kódu generuje vlastní obsah. Abychom mohli jednoznačně říct, co je HTML a co PHP, musíme použít oddělovací značku.

V současné době je nejlepší použít zápis s <?php a ?>.

// tady bude PHP kód

Ukončovací značku ?> uvádíme v případě, že chceme použít ještě nějaký další HTML kód. Pokud na konci PHP scriptu již žádný další HTML kód nenásleduje, tak je výhodnější značku ?> neuvádět, aby na konci stránky nebyly zbytečné bílé znaky (mezery a odřádkování), které tam může vložit textový editor.

V minulosti se hodně používala značka <? místo <?php, ale nemusí být vždy podporována.

Obalovací značky můžeme umístit na libovolné místo v HTML kódu, třeba do těla stránky:

<!DOCTYPE HTML>
<html>
    <head>
    <title>Můj první PHP script</title>
    <meta charset="UTF-8">
    </head>
    <body>
    <?php

        // tady bude PHP kód

    ?>
    </body>
</html>

Základní konstrukty

Mezi úplně nejzákladnější stavební kameny patří zejména:

V této kapitole si ukážeme jednoduchý výpis obsahu do zdrojového kódu za pomoci proměnné.

Princip výstavby zdrojového kódu

Všechny konstrukty (výrazy jazyka), příkazy a funkce se oddělují středníky, aby bylo možné jednoznačně určit, odkud a kam má aktuální konstrukt platnost.

Za středníkem obvykle následuje odřádkování.

Symbolicky zapsáno:

příkaz;
další příkaz;
proměnná x = její hodnota;

vypsat proměnnou x;

uložit do souboru;

Výpis do zdrojového kódu

K vypisování obsahu slouží konstrukt echo.

Použití je velice snadné:

echo 'Ahoj světe!';

Do HTML kódu poté vypíše text „Ahoj světe!“. Ukázku si vyzkoušejte.

Všechny další ukázky budou obsahovat jen vnitřek PHP kódu. Okolní HTML kód si můžete libovolně domyslet (například podle ukázky na začátku článku).

Proměnné

Proměnné jsou virutální místa paměti, do kterých se ukládají data a slouží k jejich přesunům. Název proměnné začíná vždy dolarem, následuje samotný název a poté její hodnota.

Detailní popis fungování proměnných jsem shrnul v samostatném článku o proměnných.

$oblibeneCislo = 1024;
$jmenoAutora = 'Jan Barášek';

echo $oblibeneCislo;
echo '<br>';
echo $jmenoAutora;

Název proměnné by měl vyjadřovat, co proměnná reálně obsahuje, aby byl kód přehlednější. Také si všimněte vložení HTML značky <br> pro odřádkování textu. Tuto značku byste již měli znát z jazyka HTML.

Tomu, co se vypisuje v konstruktu echo se říká řetězec (posloupnost znaků). Jednotlivé řetězce lze spojovat tečkou (.), čímž můžeme zkrátit výpis na jeden řádek:

$oblibeneCislo = 1024;
$jmenoAutora = 'Jan Barášek';

echo $oblibeneCislo . '<br>' . $jmenoAutora;

Po spojení řetězců tečkou se bude na celou věc nahlížet jako na jeden velký řetězec.

Operace s proměnnými

Mezi proměnnými fungují všechny základní matematické operace naprosto intuitivně dle očekávání.

Pojďme si definovat 2 proměnné a dosadit do nich čísla:

$x = 5;         // definuje proměnnou x s hodnotou 5
$y = 3;         // definuje proměnnou y s hodnotou 3

echo $x + $y;   // sečte proměnné a vypíše 8

Všimněte si, že k provedení matematické operace se nepoužívá znak rovnítka (=), proto nelze zapsat například rovnice. PHP se v tomto směru chová jen jako kalkulačka.

Pokud bychom nechtěli použít proměnné, tak můžeme operace provádět přímo. Na místě provádění operací tedy nezáleží a vyhodnotí se kdekoli.

echo 5 + 3;     // vypíše 8

Případně můžeme proměnné sečíst a výsledek uložit do jiné proměnné:

$x = 5;
$y = 3;
$z = $x + $y;   // proměnná $z obsahuje 8

echo $z;        // vypíše 8

V dalším díle se naučíme úplné základy definice proměnných a jejich použití.

Sponzorované odkazy
Pomohl Vám tento článek?

Díly seriálu

Toto je první díl výukového seriálu o PHP, kde se naučíme založit první PHP script a vypsat obsah.

Další díl pojednává o principech zápisu proměnných.


Nejčastějí dotazy začátečníků

Slyšel jsem, že je PHP lepší než HTML a tak se chci učit rovnou to. Je to správná volba?

Rozhodně není, PHP je jazyk co běží na serveru a jen generuje výstupy jako prosté texty (například), ale také nemusí generovat nic. Každopádně s uživatelem bude vždy výhradně komunikovat HTML (aspoň tedy v současných prohlížečích) a PHP bude jen popisovat, jak se má odesílaná stránka vygenerovat a co bude obsahovat.

Někde na webu jsem viděl zajímavou funkci a chci si jí dát na web. Když jsem zobrazil zdrojový kód, tak byl na každé stránce jiný. Jak je to možné?

Jak jsem již psal, PHP scripty se vykonávají na serveru a ke klientovi (vám) se odesílají jen výsledky formou HTML stránky. Pokud nejste zrovna hacker, tak se na původní zdroj nepodíváte. Metody hackování a crackování zde popisovat nechci (i když je ovládám).

Stránka se příliš dlouho načítá, případně vrací ERROR 505 nebo ERROR 503

Vyhodnocení scriptu něco brzdí, takže server čeká než se vypočte a pak až chce stránku odeslat. Když se to nepovede do nějakého času (obvykle 30 až 90 sekund), tak script ukončí a vrátí chybu, že se vyhodnocení nepovedlo. Je dost možné, že script načítá zdroj, který je právě teď nedostupný a nebo provádí příliš náročnou operaci, kterou nemůže dokončit (třeba zpracovává nekonečný cykl nebo se snaží načíst externí zdroj, který je nedostupný).