php
Princip PHP
17.09.2008
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.
Historie PHP
17.09.2008
Historie jazyka PHP
PHP je skriptovaci jazyk pro tvorbu dynamickeho webu a jeho pocatky spadaji do roku
1994. Tehdy se pan Rasmus Lerdorf rozhodl vytvorit jednoduchy system pro pocitani
pristupu ke svym strankam; bylo to napsano v PERLu. Za nejakou dobu byl system
prepsan do jazyka C++ protoze perlovsky kod dost zatezoval server. Sada techto
skriptu byla jeste pozdeji tehoz roku vydana pod nazvem "Personal Home Page Tools",
zkracene PHP. Jeste potom se to jmenovalo "Personal Home Page Construction Kit".
U toho vsak nezustalo. V polovine roku 1995 se system PHP spojil s jinym programem
stejneho autora, a to sice s nastrojem "Form Interpreter" neboli zkracene FI. Tak vzniklo
PHP/FI 2.0, system, ktery si postupne ziskal celosvetovou proslulost a byl velmi
rozsiren.
Cely text
Koncem roku 1998 byla jiz k dispozici verze PHP 3.0, ktera byla mnohem rychlejsi (a
vybavenejsi) nez "dvojka" a ktera byla k dispozici rovnez pod operacnimi systemy
Windows. Pocet webu ktere pouzivaly PHP se zvysoval, az dosahl cca 150 000.
"Ctyrkove" verze PHP, ktere jsou k dispozici nyni, pridavaji do jazyka mnoho novych
funkci a rovnez prinaseji prepracovane a tudiz podstatne rychlejsi jadro Zend.
Podle udaju z dubna 2004 bezi PHP na vice nez 15 000 000 domenach a je to
bezkonkurencne nejcasteji pouzivany modul weboveho serveru Apache. Zkratka PHP
by se mela prekladat jako "PHP: Hypertext preprocessor", cesky bychom rekli asi neco
ve stylu "predzpracovavac hypertextu" (je to opravdu cesky? ;-) ) Uvaha o pocatcich
PHP by nebyla uplna, kdybychom se kratce nezminili rovnez o jeho budoucim vyvoji. V
dobe psani tohoto clanku je jiz k dispozici Release Candidate 2 verze PHP 5 a podle
vyvojaru se mame na co tesit. Namatkou – jadro Zend II, kompletne prepsana
podpora XML, nove objektove rozhrani pro praci s databazi MySQL a mnoho dalsiho. Cili,
system je stale vybavovan novymi technologiemi a je aktivne vyvijen.
Proc ano a proc ne
Proc je PHP tak oblibene? K tomu vede cela rada veci:
• PHP je relativne jednoduche na pochopeni
• PHP ma syntaxi velmi podobnou jazyku C a je tedy vetsine vyvojaru dost blizky
• PHP podporuje sirokou radu souvisejicich technologii, formatu a standardu
• je to otevreny projekt s rozsahlou podporou komunity
• daji se najit kvanta jiz hotoveho kodu k okamzitemu pouziti nebo funkcni PHP aplikace.
• Podstatna cast z hotoveho kodu je sirena pod nejakou svobodnou licenci a da se pouzit ve vlastnich projektech
• PHP si dobre rozumi s webovym serverem Apache (aby ne, vzdyt je to sestersky projekt spravovany Apache software foundation)
• PHP snadno komunikuje s databazemi, jako je MySQL, PostgreSQL a rada dalsich
• PHP je multiplatformni a lze jej provozovat s vetsinou webovych serveru a na vetsine dnes existujicich operacnich systemu
• PHP podporuje mnoho existujicich poskytovatelu webhostingovych sluzeb
Ma PHP take svoje nevyhody?
Vicemene ne; pokud budete chtit napsat dynamicky web, bude PHP prakticky vzdy dobrou
volbou. S nekterymi vecmi byste ale presto meli pri pouziti PHP pocitat:
• PHP je interpretovany, ne kompilovany jazyk
• kdokoli ma primy pristup k serveru, muze nahlednout do vasich PHP skriptu
• Podpora objektoveho programovani neni v PHP na moc dobre urovni. V PHP 5 by se to ale melo zlepsit.
• protoze je PHP aktivne vyvijen, v budoucich verzich jazyka se mohou nektere funkce zmenit nebo se mohou chovat jinak nez dosud.
Co se v PHP da napsat ?
Lakonicka odpoved by znela: Temer vsechno, co nejak souvisi s dynamickym
webem a/nebo s databazemi. Mezi nejcastejsi aplikace psane v PHP patri napriklad:
• internetove obchody
• podnikove informacni systemy (at uz intranetove nebo internetove)
• diskusni fora
• redakcni systemy
• firemni prezentace
• dynamicke osobni stranky
• webovi postovni ci databazovi klienti
• vyhledavace a katalogy
• drobnosti typu pocitadla, ankety a mnoho dalsich
Strana: 1