LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> 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 152766×

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:

  1. Celý soubor může být jeden dlouhý PHP kód. Pak začíná a končí znaky <? a ?>
  2. V souboru může být kód PHP jen na jednom určitém místě.
  3. V souboru ale klidně může být více než jedno místo obsahující PHP kód
  4. 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

pridej.cz

 

DISKUZE

Nefunguje 20.12.2009 05:33 adm
  L Re: Nefunguje 23.12.2009 11:07 Tomáš Kováčik
    L Re: Nefunguje 27.12.2009 16:56 adm




Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

27.8.2016 8:55 /Delujek
Dnes po 4 letech komunitního vývoje vyšla diaspora 0.6.0.0
diaspora* je open-source, distribuovaná sociální síť s důrazem na soukromý
Více v oficiálním blog-postu
Přidat komentář

24.8.2016 6:44 /Ondřej Čečák
Poslední týden CFP LinuxDays 2016; pokud byste rádi přednášeli na LinuxDays 2016 8. a 9. října v Praze, můžete svůj příspěvek přihlásit, následovat bude veřejné hlasování.
Přidat komentář

9.8.2016 22:56 /Petr Ježek
Zařazení souborového systému reiser4 do jádra 4.7 znamená konečně konec patchování jádra jen kvůli možnosti použít reiser4.
Přidat komentář

12.7.2016 13:14 /František Kučera
Spolek OpenAlt zve na 130. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 21. července od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

11.7.2016 16:53 /Redakce Linuxsoft.cz
Konference LinuxDays hledá přednášející. Přihlášky poběží do konce prázdnin, v září bude hlasování a program. Více na https://www.linuxdays.cz/2016/cfp/.
Přidat komentář

8.5.2016 17:19 /Redakce Linuxsoft.cz
PR: Dne 26.5.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, cloudové služby, infrastruktura cloudu, efektivní využití cloudu, možné nástrahy cloudů a jak se jim vyhnout
Přidat komentář

21.4.2016 8:01 /František Kučera
Spolek OpenAlt zve na 127. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 28. dubna od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

2.3.2016 22:41 /Ondřej Čečák
Letošní ročník konference InstallFest již tento víkend!
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

12.8.2016 11:51 / Josef Zapletal
Jak udělat HTML/Javascript swiping gallery do mobilu?

8.8.2016 14:58 / Adams
fairies for hire

28.7.2016 15:51 / pepan
Re: NetBeans vs Eclipse

10.6.2016 21:10 / pavel riha
FreeBSD 10.3 a virtualizace

8.6.2016 21:56 / Milan Gallas
Nevalidní prefix m

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2016) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze