Instalace Apache, MySQL a PHP
Webové aplikace často používají linuxový operační systém, webserver Apache, databázi MySQL a programovací jazyk PHP. Tato čtveřice je často označována zkratkou LAMP. Všechny zmíněné technologie jsou zadarmo. Pokud následující technologie provozujeme pod Windows, používá se někdy zkratka WAMP.
Jednotlivé části balíčku XAMPP:
- Apache – Webserver, který zajišťuje komunikaci s klientem. Jedná se o povinnou součást.
- MySQL – Hojně používaná databáze. Je s ní propojený phpMyAdmin, který je přiložený v instalaci. Existují i další databáze, například SQLite, která je přímo v PHP.
- FileZilla FTP Server – Umožňuje vytvořit si vlastní FTP server a pak se k němu vzdáleně připojovat. Je třeba mít veřejnou IP adresu.
- Mercury Mail Server – Lokální SMTP server pro posílání emailů.
- Tomcat – Servrlet pro Javu, pokud tvoříte stránky v tomto jazyce.
Další nástroje:
- phpMyAdmin – Uživatelsky přívětivá správa MySQL databáze.
- Webalizer – Statistiky přístupů webu.
- Fake Sendmail – Odesílání anonymních emailů.
Při práci v PHP je vhodné pracovat v IDE, tedy vývojovém prostředí. Jedná se o software usnadňující práci programátorů, většinou zaměřené na jeden konkrétní programovací jazyk. Obsahuje editor zdrojového kódu, kompilátor, případně interpret a většinou také debugger.
Proměnné a typový systém
Již víme, že PHP skript vypadá jako běžná HTML stránka. Jelikož má však stránka příponu .php, může obsahovat části označené značkami (direktivou) <?php a ?>. Zde se může nacházet kód, který na serveru spustí PHP modul. Na toto místo potom vloží výsledek, který kód vygeneroval.
Slovo proměnná byste měli znát ze školy. Pro neprogramátory je to místo v paměti, kam si můžeme ukládat data a potom s nimi pracovat. Proměnné pojmenujeme libovolným názvem bez mezer a diakritiky. Před jejich název píšeme vždy dolar ($).
$pozdrav = „Ahoj“;
$vek = 15;
$pi = 3.14;
Na rozdíl od mnoha jiných jazyků se proměnné v PHP určují při přiřazení, což velice zkracuje a zjednodušuje kód, zároveň ale může být takový kód pro začátečníky matoucí a nepřehledný. V průběhu kódu může proměnná měnit svůj typ (tzv. přetypování). Často se tak děje například výsledkem nějakého výpočtu. První znak toho pojmenování musí být buď písmeno a-z nebo podtržítko. Nesmí to být číslo ani nic jiného. Názvy proměnných v PHP rozlišují mezi malými a velkými písmeny, takže pozor na to
Každá proměnná je určitého typu, těmto typům se říká datové. Ve skriptu jsme si vytvořili proměnné třech základních datových typů. Pozdrav je typu string, o tom jsme si již říkali. $vek je typu int, což je celé číslo. $pi je potom typu double (někdy můžete narazit i na typ float, v PHP označují oba typy to samé, tedy desetinné číslo).
Všechny typy:
- String
- Integer
- Float
- Boolean
- Array
- Object
- NULL
- Resource
Příklad skládání různých typů proměnných:
$a = 10;
$b = „20 let mi je“;
$c = $a + $b;
echo($c);
Textové řetězce a pole
Textový řetězec
Vkládání textu do proměnných.
$jmeno = ‚Karel‘;
$text = „Jmenuji se $jmeno \nS tímto jménem jsem spokojen.“;
echo($text);
Pokud chceme do řetězce v apostrofech vložit obsah nějaké proměnné, nemáme jinou možnost, než použít operátor tečky.
Pokud bychom chtěli do textu vložit apostrof, musíme ho tzv. odescapovat, aby si ho PHP nespletlo s ukončením řetězce. Escapování provedeme pomocí zpětného lomítka:
$text = ‚Chvilku mi trvalo, než jsem na klávesnici našel znaky „\” a “;”.‘;
echo($text);
Místo apostrofů můžeme použít také uvozovky, protože do nich lze jednoduše vkládat proměnné.
$jmeno = ‚Karel‘;
$text = „Jmenuji se $jmeno \nS tímto jménem jsem spokojen.“;
echo($text);
Pole
Pro uložení více proměnných stejného typu nám PHP nabízí datovou strukturu, které se říká pole. V PHP jsou 2 typy polí.
Číselně indexovaná pole
Číselně indexované pole si můžeme představit jako řadu přihrádek někde v paměti počítače (ono mimochodem vnitřně opravdu tak vypadá). Přihrádky jsou číslované vždy od nuly a jejich číslům se říká indexy. Na obrázku níže vidíte znázorněné pole, ve kterém je uloženo 8 čísel:
Nový prvek na konec pole přidáme takto:
$znamky[] = 1;
$znamky[] = 2;
$znamky[] = 5;
Výsledné pole tedy vypadá takto: 1, 2, 5.
Stejně tak můžeme vložit prvek na konkrétní index v poli. Pokud prvek na tomto indexu už je, prostě se přepíše.
$znamky[0] = 1;
$znamky[1] = 3;
$znamky[2] = 5;
$znamky[1] = 2; // Přepíše prvek na indexu 1 (3) na dvojku
Příklad data pomocí pole
$mesice = array(‚leden‘, ‚únor‘, ‚březen‘, ‚duben‘, ‚květen‘, ‚červen‘,
‚červenec‘, ‚srpen‘, ‚září‘, ‚říjen‘, ‚listopad’, ‚prosinec‘);
$den = date(‚j‘);
$mesic = date(‚m‘);
$mesicSlovy = $mesice[$mesic – 1];
$rok = date(‚Y‘);
echo(„Ahoj, dnes je $den. $mesicSlovy $rok„);
Podmínky, cykly
Podmínku zapíšeme pomocí klíčového slova if, za kterým následuje v závorce logický výraz. Pokud je výraz pravdivý, vykoná se následující příkaz. Pokud ne, následující příkaz vykonán nebude a program pokračuje až pod ním.
if (15 > 5)
echo(‚Pravda‘);
echo(‚<br />Program zde pokračuje dál.‘);
Operátory
V podmínce jsme použili operátor > (větší). Ve výrazech můžeme dále používat tyto relační operátory:
Operátor | C-like zápis |
Rovnost | == |
Je ostře větší | > |
Je ostře menší | < |
Je větší nebo rovno | >= |
Je menší nebo rovno | <= |
Nerovnost | != |
Obecná negace | ! |
Rovnost zapisujeme dvěma == proto, aby se to nepletlo s běžným přiřazením do proměnné, které se dělá jen jedním =. Pokud chceme nějaký výraz znegovat, napíšeme ho do závorky a před něj vykřičník. Když budeme chtít vykonat více než jen jeden příkaz, musíme příkazy vložit do bloku ze složených závorek. Součástí výrazu samozřejmě mohou být i proměnné.
ELSE:
Pokud chceme, aby se něco provedlo v případě, že podmínka platí a něco jiného v případě, že podmínka neplatí, použijeme klíčové slovo else. Do větve else program zaběhne v případě, že podmínka neplatí.
$a = 10;
$b = 0;
if ($b != 0)
{
$vysledek = $a / $b;
echo(‚Podíl: ‚ . $vysledek);
}
else
echo(‚Nulou nelze dělit!‘);
Skládání stránek v PHP
Dynamické skládání stránek
Většina dnešních webových stránek se skládá vlastně z 2 částí. Tou první je tzv. layout, neboli rozložení webu. To je na každé podstránce webu stejné a obvykle obsahuje logo webu, navigační menu a patičku. Druhá část stránky je potom samotný článek, který je do layoutu zobrazen.
Principiálně to funguje tak, že po kliknutí na odkaz se nám nenačítá celý nový HTML soubor, ale jen odkazovaná PHP část, která se vloží do webového layoutu.
Funkce
Syntax funkcí v PHP:
function functionName() {
code to be executed;
}