PHP – dynamické stránky
Je skriptovací programovací jazyk, který vznikl v roce 1995 a jeho autorem je Rasmus Lerdorf. Používá se především k programování dynamických webových stránek, webových aplikací a propojení stránek s databází. PHP je nejrozšířenější skriptovací jazyk pro web. Typickým využitím PHP jsou např. formuláře, databáze uživatelů, eshopy, redakční systémy.
Skripty jsou prováděny na straně serveru a k uživateli je přenášen až jejich výsledek (narozdíl např. od Javascriptu). Syntaxe jazyka je inspirována několika programovacími jazyky (Perl, C, Java). PHP není závíslé na platformě a většinou lze kód přenášet mezi platforamami bez jakýchkoliv úprav.
Zdroj:itnetwork.cz
Vlastnosti PHP
- Jazyk PHP je dynamicky typovaný, tzn., že datový typ proměnné je vázán na hodnotu, nikoliv na proměnnou.
- Řetězce lze v PHP zapsat 2 různými způsoby, a to:
- uzavírat do uvozovek (při vyhodnocení se provede nahrazení proměnných uvnitř)
- uzavírat do apostrofů (nahrazuje se jen escape sekvence \‘).
- Pole jsou asociativní (ukládá se pár klíč – hodnota)
Výhody PHP
- Rozsáhly soubor funkcí
- Podpora mnoha databázových systémů
- Multiplatformnost
- Podpora na hostingových službách
- Spousta kódů a projektů, které lze zdarma využít (phpBB, WordPress atd.)
- Svobodná licence
Nevýhody PHP
- Nekonzistentní pojmenování funkcí (strpos(), strchr(), ale str_replace(), str_pad().)
- Jazyk podporuje vyjímky, ale knihovna je používá jen zřídka
- Slabší podpora Unicode
- Ve standartní edici chybí ladící nástroj
Základy syntaxe
Celý kód musí být označen dvojící otazníku a menšítka.
<?php [PHP kód] ?>
Jednotlivé příkazy jsou odděleny středníkem .
<?
echo „První řádek“;
echo „Druhý řádek“;
?>
Komentáře mohou být v PHP jednořádkové nebo víceřádkové a používají se na ně znaky „//“ (dvě dopředná lomítka), „#“ (mřížka) a dvojice „/*“ a „*/.
<?
//komentář
?>
nebo
<?
#komentář
?>
nebo
<?
/*
komentář
komentář
komentář
*/
?>
Proměnné
Narozdí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.
Každá proměnná musí mít jednoznačný název. Ten v PHP začíná znakem dolaru($) a následuje (bez mezery) nějakým pojmenováním. 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. Praxe bývá většinou taková, že se proměnné píší malými písmeny. V názvech proměnných můžete používat české znaky včetně diakritiky, běžně se to ale moc nedělá. Desetinná čísla se zadávají s tečkou, ne s čárkou. Řetězce se uzavírají do uvozovek nebo do apostrofů.
<?
//logický typ
$mam_malo_penez = TRUE;
//celočíselný typ
$plat = 10000;
//desetinné číslo
$disketa = 3.5;
//řetězec
$prohlaseni = „Právě se vracím z pražského hradu! …“;
echo $mam_malo_penez.“<BR>“;
echo $plat.“<BR>“;
echo $disketa.“<BR>“;
echo $prohlaseni.“<BR>“;
?>
Typ | Název v PHP | Popis |
Logický typ | Boolean | uchovává hodnotu „pravda“ nebo „nepravda“. Zapisuje se jako TRUE a FALSE. |
Celočíselný typ | Integer | uchovává celá kladná i záporná čísla (a nulu). |
Desetinné číslo | Float nebo Real | uchovává desetinná čísla. S přesností obyčejně na 14 desetinných míst. |
Řetězec | String | uchovává texty neboli řetězce. Řetězec je znak nebo sada znaků, v PHP prakticky neomezené délky. |
Pole
V PHP je kromě základních datových typů k dispozici i datový typ pole. To je speciální struktura, která může v jedné proměnné obsahovat sadu hodnot. Pole má prvky a každý prvek má index(klíč) a hodnotu.
<?
$Jmena=array(„Petr“,“Karel“,“Lenka“,“Martin“);
?>
Každý prvek v poli má teď svoji hodnotu (např. „Petr“) a také svůj index (číslo podle pořadí). První prvek má index 0!
Někdy může ale být vhodnější rozlišit od sebe prvky pole řetězcem, čímž vznikne tzv. asociativní pole.
<?
$obyvatel = array (
„Praha“=>1000000,
„Ústí nad Labem“=>100000,
„Horní Lhota“ => 350,
);
?>
Jako index pro prvky teď neslouží vygenerovaná čísla, ale námi zvolený řetězec. Takové pole je v mnoha případech přehlednější a usnadňuje nám práci s ním.
Pole mohou být také vícerozměrné. Takové pole může mít na kterémkoliv svém prvku vložené další pole. Jako příklad je možné uvést šachovnici.
<?
$planets =
array(array(“Merkur”,0.39, 0.38),
array(“Venuše”,0.72, 0.95),
array(“Země”, 1.0, 0.53);
?>
Základní příkazy
ECHO
Echo uživateli vytiskne 1 nebo více řetězců.
Pomocí příkazu echo můžeme vkládat i HTML tagy.
<?
echo „Toto je jeden řetězec“;
?>
IF
Podmínky fungují v tom nejjednodušším případě tak, že nejprve je vyhodnocen určitý výraz. Je-li výraz pravdivý, provede se příkaz. PHP má pro podmínku klíčové slovo if.
<?
$pristup_odepren = TRUE;
if ($pristup_odepren) echo „Na tuto stránku se nemůžete dostat bez autorizace“;
?>
K podmínce je možné přidat ELSE větev, která se provede, pokud podmínka není splněna.
<?
$pristup_odepren = TRUE;
{
if ($pristup_odepren) echo „Na tuto stránku se nemůžete dostat bez autorizace“;
}
else {
echo „Vítejte na této stránce<BR>“;
}
?>
Známe ještě jednu formu příkazu if. Její rozšíření spočívá v tom, že zavádí klíčové slovo elseif a program tak může reagovat na několik podmínek za sebou.
<?
if ($browser==“Mozilla“) echo „Mozilla Firefox !!!“;
elseif ($browser==“Chrome“) echo „Google Chrome“;
elseif ($browser==“Explorer“) echo „Internet Explorer“;
else echo „Nepodařilo se zjistit Váš browser“;
?>
SWITCH
Často potřebujeme opakovaně vyhodnocovat stejný výraz a podle jeho hodnoty provést odpovídající akci ve skriptu. K tomu může sloužit příkaz if, nebo má PHP příkaz switch.
<?
switch ($browser)
{
case „Mozilla“:
echo „Výborně !!!“;
break;
case „Konqueror“:
echo „Dobře .“;
break;
case „Explorer“:
echo „;-(„;
break;
default:
echo „Nepodařilo se zjistit Váš browser“;
}
?>
WHILE
Cyklus s podmínkou na začátku testuje výraz a pokud výraz platí provádí příkaz nebo sadu příkazů. Odpovídající slovní vyjádření je: Zatímco platí výraz, proveď příkaz. V PHP se použije jazyková konstrukce while.
<?
$i=1;
while ($i<=10)
{
echo „Druhá mocnina čísla $i je: $i*$i“;
$i++;
}
?>
DO
Cyklus s podmínkou na konci funguje tak, že se nejprve minimálně jednou provede tělo cyklu a teprve potom se testuje podmínka. Česky bychom řekli: Proveď příkaz, dokud platí výraz.
<?
$i=0;
do
{
$i++;
echo „Druhá mocnina čísla $i je: $i*$i“;
}
while ($i<10);
?>
FOR
Narozdíl od smyčky s podmínku, kde není předem jisté kolikrát se daná smyčka bude opakovat, má smyčka s parametrem jinou filozofii. Většinou (ne však vždy) má takzvaný parametr smyčky, který určuje počet opakování celého cyklu.
<?
for ($i=1; $i<=10; $i++) echo „Druhá mocnina čísla $i je: $i*$i“;
?>
Napsat komentář
Pro přidávání komentářů se musíte nejdříve přihlásit.