|
PHP (2) - Jak to funguje
V minulém díle jsme si ukázali, co PHP vlastně je a k čemu všemu se dá použít. Dnes se zaměříme na to, co to PHP zhruba dělá a jak celá komunikace mezi serverem a prohížečem při použití tohoto jazyka funguje.
28.5.2004 15:00 |
Petr Zajíc
| Články autora
| přečteno 98168×
Komerční sdělení: Pořádáme Kurzy PHP
Jestliže s PHP začínáte, měli byste si tento článek pečlivě přečíst.
Setkal jsem se totiž s lidmi, kteří sice s tímto jazykem už nějakou
dobu pracují, ale přesto jim uniká princip - a dělají tak základní
koncepční chyby.
Princip PHP
V době internetového pravěku byly všechny
internetové stránky statické. Prostě tak, jak byla stránka napsána, tak
byla odeslána do prohlížeče a tak byla také zobrazena. To pochopitelně
časem přestávalo stačit, a proto byla vyvinuta celá řada technologií,
které měly stránky rozpohybovat. Zhruba řečeno se dají tyto technologie
rozdělit do dvou skupin, na "klientské" a "serverové".
"Klientské"
technologie se spoléhají na jednoduchou věc: Spolu s HTML stránkou je
prohlížeči odeslán i nějaký kus programového kódu a ten je ve vhodnou
chvíli na "cílovém" počítači spuštěn. Vhodná chvíle může nastat
například při kliknutí na tlačítko, při najetí myší na odkaz, při
otevření okna prohlížeče a podobně. O spuštění klientského kódu se
stará
prohlížeč - a to může být nevýhoda. Prohlížeč totiž musí znát
programovací jazyk, v němž je kód napsán. Příkladem
technologií běžících na straně klienta je například Java script. Máme o
něm na Linuxsoftu seriál.
"Serverové" technologie jsou založeny na jiném principu. Když
prohlížeč
požaduje webovou stránku ze serveru, server tuto stránku nejprve
sestaví a pak odešle. Servery mohou (a také to často dělají) sestavovat
pokaždé jinou stránku v závislosti na tom, co přesně prohlížeč
požaduje.
PHP JE TECHNOLOGIE BĚŽÍCÍ NA SERVERU. Typický PHP skript
obsahuje jednak kusy normálního HTML kódu, a jednak kusy programového
kódu. Když webový server obdrží požadavek na zpracování takového
skriptu, vezme:
- kusy HTML kódu tak, jak jsou
- části PHP programového kódu provede
- výsledek zkombinuje a odešle prohlížeči
Tato filozofie fungování je nesmírně mocná. Server totiž může
provést jednu nebo dokonce několik operací a výsledek poslat do
prohlížeče jako obyčejnou HTML stránku. Jakmile tento koncept
pochopíte, můžete začít psát PHP skripty. Celé si to předvedeme na malé
ukázce: Následující kód je obyčejná HTML stránka. Když si ji prohlížeč
vyžádá, uvidíte v něm jen řádek mezi značkami.
<HTML>
Já jsem obyčejná stránka. Nic neumím.
</HTML>
Následující kód je
PHP skript. Všimněte si, že se skládá jednak
z HTML kódu, a jednak z PHP kódu. V některém z dalších dílů to
rozebereme podrobněji, teď ale jen uvedu, že to, co vidíte mezi
značkami <? a ?> je právě PHP kód. Příkaz echo vypisuje text na
standardní výstup a příkaz Date vrací aktuální čas:
<HTML>
Já jsem speciální stránka. Vím, že právě je <?echo Date("G:i")?>
</HTML>
Jak asi tušíte, stránka vám vypíše
aktuální čas na serveru v
době, kdy byla generována. To proto, že kód mezi značkami <? a ?>
se na serveru nejprve provede a teprve pak se výsledek odešle
prohlížeči. Jinými slovy, do prohlížeče dorazí něco jako:
<HTML>
Já jsem speciální stránka. Vím, že právě je 21:08
</HTML>
Prohlížeč nemá sebemenší tušení, co všechno se na serveru dělo
než mu byl výstup odeslán, vidí jen samotný výsledek. Dodejme, že dít
se na serveru mohla celá řada věcí – matematické výpočty, přístupy k
databázím, formátování, operace s řetězci a podobné taškařice. Z toho
vyplývá několik důležitých věcí.
Za prvé, abyste mohli PHP
skript skutečně spustit, musíte ho "prohnat" serverem. Když ho otevřete
v textovém editoru nebo si ho prohlédnete jako soubor na disku,
neuvidíte výsledek, ale zdrojový kód skriptu. To se Vám
může plést
zejména tehdy, když máte PHP skript na vlastním počítači a používáte na
prohlížení souborů na disku stejný nástroj jako na prohlížení obsahu
sítě internet (třeba Konqueror). PHP soubor proženete serverem tak, že
se na něj zeptáte prohlížeče pomocí adresy url. Například pomocí http://localhost/skript.php
můžete skutečně donutit server, aby skript
zpracoval a poslal Vám výsledek, zatímco prostřednictvím file://var/www/html/skript.php
zobrazíte jen zdrojový soubor.
Za
druhé – PHP skripty nejsou vlastně vůbec závislé na použitém
prohlížeči, protože ten s nimi nepřijde do styku. Všechnu práci si
odskáče server a do prohlížeče dorazí jen prosté HTML.
Za třetí – části PHP kódu se do skriptů vkládají pomocí
speciálních značek. Z ukázky to sice nevyplývá, ale v úvahu přicházejí
následující možnosti kombinace HTML a PHP kódu v jednom souboru:
- Celý soubor může být jeden dlouhý PHP kód. Pak začíná a končí
znaky <? a ?>
- V souboru může být kód PHP jen na jednom určitém místě.
- V souboru ale klidně může být více než jedno místo obsahující
PHP kód
- Soubor se sice může tvářit jako php skript, ale ve skutečnosti
je to normální HTML soubor a PHP kód v něm vůbec není.
Za čtvrté: Jelikož výsledkem PHP skriptu je normální HTML
stránka, neměli byste se pouštět do práce v PHP, pokud alespoň zběžně
neznáte HTML.
Tyto technologie se můžete učit současně, ale není nad to naučit se
nejprve HTML a pak se pustit do PHP. Mimochodem, o HTML máme na
Linuxsoftu seriál.
A konečně za páté – jak jste asi
pochopili, když si budete chtít
vyzkoušet fungování skriptu ve skutečném světě, měli byste mít k
dispozici nějaký webový server. A právě o tom, co všechno byste měli
mít k dispozici pro práci s PHP bude další díl našeho seriálu.
Verze pro tisk
| |
Příspívat do diskuze mohou pouze registrovaní uživatelé.
|
|

Vyhledávání software

Vyhledávání článků
 Služby
3.9.2010 8:31 /MaReK Olšavský Na stránkách OpenSource.com vyšel zajímavý příběh o návrhu Nizozemské euro mince, který byl realizován strojově za pomocí svobodného software. Ano, svobodný software umí tvořit peníze.
Komentářů: 1
3.9.2010 8:28 /MaReK Olšavský Dostupnost Ksplice pro Fedoru určitě potěšila nejednoho uživatele, který chce provozovat linuxový server bez nutnosti rebootu. Má Ksplice budoucnost, nebo se neuchytí?
Přidat komentář
2.9.2010 5:05 /MaReK Olšavský Zdá se, že Ukrajina bude následovat příklad Ruska a připraví vlastní „oficiální“ distribuci GNU/Linuxu. Blog OPEN… na novou distribuci upozornil ty, jež nerozumí ukrajinštině. Je potřeba další distribuce?
Přidat komentář
2.9.2010 4:32 /MaReK Olšavský Na stránkách Worldlabel blogů vyšel příspěvek, jehož autor probírá použití open source a linuxu při zpracování fotografií. Autor napsal o známém software, nicméně ukazuje, že OSS pokrývá celý proces zpracování fotografií.
Přidat komentář
1.9.2010 7:48 /MaReK Olšavský Zajímavý blogspot o vyřešení jednoho problému s dokumentem a úspoře díky OpenOffice.org.
Komentářů: 1
Více ...
Přidat zprávičku
 Poslední diskuze
3.9.2010 21:54 /
Dominik Geršák Re: formular v php
3.9.2010 14:45 /
Aleš Hakl Re: Soft na virtual sieť
3.9.2010 13:15 /
Ondřej Tůma Hooodne stary
2.9.2010 22:26 /
Jan Tichý php parser - problem
2.9.2010 21:28 /
Raduz formular v php
Více ...
|