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“;

?>