Princip PHP
V dobe internetoveho praveku byly vsechny internetove stranky staticke. Proste tak, jak byla stranka napsana, tak byla odeslana do prohlizece a tak byla take zobrazena. To pochopitelne casem prestavalo stacit, a proto byla vyvinuta cela rada technologii, ktere mely stranky rozpohybovat. Zhruba receno se daji tyto technologie rozdelit do dvou skupin, na "klientske" a "serverove".
Cely text
"Klientske" technologie se spolehaji na jednoduchou vec: Spolu s HTML strankou je prohlizeci odeslan i nejaky kus programoveho kodu a ten je ve vhodnou chvili na "cilovem" pocitaci spusten. Vhodna chvile muze nastat napriklad pri kliknuti na tlacitko, pri najeti mysi na odkaz, pri otevreni okna prohlizece a podobne. O spusteni klientskeho kodu se stara prohlizec - a to muze byt nevyhoda. Prohlizec
totiz musi znat programovaci jazyk, v nemz je kod napsan. Prikladem technologii bezicich na strane klienta je napriklad Java script. "Serverove" technologie jsou zalozeny na jinem principu. Kdyz prohlizec pozaduje webovou stranku ze serveru, server tuto stranku nejprve sestavi a pak odesle. Servery mohou (a take to casto delaji) sestavovat pokazde jinou stranku v zavislosti na tom, co presne prohlizec pozaduje.
PHP JE TECHNOLOGIE BEZICI NA SERVERU. Typicky PHP skript obsahuje jednak kusy normalniho HTML kodu, a jednak kusy programoveho kodu. Kdyz webovy server obdrzi pozadavek na zpracovani takoveho skriptu, vezme kusy HTML kodu tak, jak jsou casti PHP programoveho kodu provede vysledek zkombinuje a odesle prohlizeci.
Tato filozofie fungovani je nesmirne mocna. Server totiz muze provest jednu nebo dokonce nekolik operaci a vysledek poslat do prohlizece jako obycejnou HTML stranku.
Jakmile tento koncept pochopite, muzete zacit psat PHP skripty. Cele si to predvedeme na male ukazce:
Nasledujici kod je obycejna HTML stranka. Kdyz si ji prohlizec vyzada, uvidite v nem jen radek mezi znackami.
<HTML>
Ja jsem obycejna stranka. Nic neumim.
</HTML>
Nasledujici kod je PHP skript. Vsimnete si, ze se sklada jednak z HTML kodu, a jednak z PHP kodu. V nekterem z dalsich dilu to rozebereme podrobneji, ted ale jen uvedu, ze to, co vidite mezi znackami a ?> je prave PHP kod. Prikaz echo vypisuje text na standardni vystup a prikaz Date vraci aktualni cas:
<HTML>
Ja jsem specialni stranka. Vim, ze prave je <?php echo date("H:i:s");?>
</HTML>
Jak asi tusite, stranka vam vypise aktualni cas na serveru v dobe, kdy byla
generovana. To proto, ze kod mezi znackami <? a ?> se na serveru nejprve provede a teprve pak se vysledek odesle prohlizeci. Jinymi slovy, do prohlizece dorazi neco jako:
<HTML>
Ja jsem specialni stranka. Vim, ze prave je 15:00
</HTML>
Prohlizec nema sebemensi tuseni, co vsechno se na serveru delo nez mu byl vystup odeslan, vidi jen samotny vysledek. Dodejme, ze dit se na serveru mohla cela rada veci– matematicke vypocty, pristupy k databazim, formatovani, operace s retezci a podobne taskarice. Z toho vyplyva nekolik dulezitych veci.
Za prve, abyste mohli PHP skript skutecne spustit, musite ho "prohnat" serverem. Kdyz ho otevrete v textovem editoru nebo si ho prohlednete jako soubor na disku, neuvidite vysledek, ale zdrojovy kod skriptu. To se Vam muze plest zejmena tehdy, kdyz mate PHP skript na vlastnim pocitaci a pouzivate na prohlizeni souboru na disku stejny nastroj jako na prohlizeni obsahu site internet (treba Konqueror). PHP soubor prozenete serverem tak, ze se na nej zeptate prohlizece pomoci adresy url. Napriklad pomoci http://localhost/skript.php muzete skutecne donutit server, aby skript zpracoval a poslal
Vam vysledek, zatimco prostrednictvim file://var/www/html/skript.php zobrazite jen
zdrojovy soubor.
Za druhe ,PHP skripty nejsou vlastne vubec zavisle na pouzitem prohlizeci,protoze ten s nimi neprijde do styku. Vsechnu praci si odskace server a do prohlizece dorazi jen proste HTML.
Za treti, casti PHP kodu se do skriptu vkladaji pomoci specialnich znacek. Z ukazky to sice nevyplyva, ale v uvahu prichazeji nasledujici moznosti kombinace HTML a PHP kodu v jednom souboru:
1. Cely soubor muze byt jeden dlouhy PHP kod. Pak zacina a konci znaky <? a ?>
2. V souboru muze byt kod PHP jen na jednom urcitem miste.
3. V souboru ale klidne muze byt vice nez jedno misto obsahujici PHP kod
4. Soubor se sice muze tvarit jako php skript, ale ve skutecnosti je to normalni HTML soubor a PHP kod v nem vubec neni.
Nakonec: Jelikoz vysledkem PHP skriptu je normalni HTML stranka, nemeli byste se poustet do prace v PHP, pokud alespon zbezne neznate HTML. Tyto technologie se muzete ucit soucasne, ale neni nad to naucit se nejprve HTML a pak se pustit do PHP.
A uplne nakonec – jak jste asi pochopili, kdyz si budete chtit vyzkouset fungovani skriptu ve skutecnem svete, meli byste mit k dispozici nejaky webovy server.