Všechno, co jste chtěli vědět o PHP

18. dubna 2000

Programátor je – ať už chceme nebo ne – stále osobou velmi důležitou, tudíž váženou a v neposlední řadě taktéž dobře placenou. Činnost programování tedy v dnešní době značně nabírá na významu – aktivně zasahuje i do oblasti sítí, ať již Internetu či Intranetu, a velice dynamicky se rozvíjí zejména v oblasti internetového webovéhoprogramování.

Vždyť se jen podívejme, kolik vývojářských nástrojů dnes máme k dispozici: od základních HTML přes Dynamické HTML od Microsoftu, VB Script od stejnojmenné firmy, Java Script od Netscape, Java applet od SUNu, ASP skripty od Microsoftu, CGI skripty a konečně i PHP skripty.

Přesto, že mají všechny stejný cíl, jejich použití je diametrálně odlišné, a to v tom smyslu, že každý takový nástroj provádí zadané úlohy jiným způsobem – např. Java Script (míněno na klientském počítači, nikoli Server Side JS) či Java Applet se při požadavku klienta stáhne společně s HTML z nějakého web-serveru a posléze se na klientově počítači vykoná, naproti tomu CGI, ASP či PHP skripty provádí interpreter přímo na serveru a klientovi posílá už HTML vytvořené či modifikované těmito skripty, nikdy ne tedy samotný skript (zdrojový text), tzn. že tyto HTML soubory jsou výsledkem provedeného skriptu.

Uvedené způsoby pro vytváření interaktivních webových stránek tedy můžeme rozdělit do dvou skupin – a sice ty, jenž se vykonávají u klienta a ty, jež se naopak vykonají na serveru.

Každý z uvedených způsobů má samozřejmě své pro a proti – u prvního je to např. nemožnost chránit své zdrojové texty, jelikož každý, kdo si downloadne HTML tak automaticky získá i zdrojový text programu (i když už dnes existují cryptovací nástroje, jež zdroják dokáží zašifrovat, takže si potenciální lamer může přečíst pouze nesmyslný balast), s nímž si může pak dělat co chce (tato skutečnost se ale vztahuje pouze k skriptovacím jazykům – nikoli tedy na Java applet, neboť ten získá klient už jako byte code) a dále pak možná nepodpora tohoto jazyku ze strany browseru (např. ještě ani dnes nemá Netscape Navigator plnou podporu oblíbených DHTML) – což pochopitelně silně svazuje nebohému programátorovi ruce.

Mezi hlavní výhody té druhé skupiny patří fakt, že je skript vykonán na serveru a tudíž na straně klienta odpadají zmiňované problémy s případnou nepodporou tohoto vývojářského nástroje. Pro korektní činnost programu pak stačí každý browser zobrazující HTML. To s sebou nese i další výhodu (pro případné hackery spíše nevýhodu), a tou je (oproti předchozí kategorii), že se tak klientovi nikdy nedostane zdrojový text programu. Za negativum této kategorie lze považovat to, že takovéto programy na ni nemohou bezprostředně po nějaké události způsobené uživatelem reagovat (např. změna obrázku při změne polohy myši) – klient si musí vždy vystavení nových dat ze serveru znovu vyžádat.

Co je to vlastně PHP

Zaměřme se nyní na již zmiňované PHP skripty. Jak již bylo řečeno, jedná se o interpretovaný skriptovací jazyk (jakýsi hybrid jazyka C), tzn. že pro spouštění skriptů (zdrojových textů) je nutný externí program (tzv. interpreter), který je vykoná. Samotné skripty jsou vepsány v HTML souboru, kde pak interpreter PHP na místo původního skriptu zapíše jeho výsledek, tzn. že klientovi se dostane vždy čistý HTML kód, částečně či dokonce celý vyprodukovaný skriptem.

PHP Je nástroj poměrně mladý. Současné, věhlasné proslulosti se mu dostalo až ve verzi 3.0, která byla uvolněna teprve v polovině roku 1998 (systém vznikl již v roce 1994, avšak jeho tehdejší podoba se od té současné značně liší).

Jeho autorem a jedním ze současných vývojářů je Rasmus Lerdorf a nyní je PHP dostupný pro platformy Linux, 32bitová Windows (WIN ’95/’98, NT) a OS Macintoshe. Nutno podotkno ut, že všechny verze PHP jsou uvolněny ZCELA ZDARMA, a za zmínku stojí i to, že v PHP běží i populární emailový server Email.cz (dále pak www.centrum.cz a mnohé další). Tým vývojářů PHP však neusíná na vavřínech, čehož důkazem je současný release PHP v4 – Candidate 1 (tedy 1. kandidát na ostrou verzi PHP v4), které se dostalo značného vylepšení, především na platformě 32 bitových Windows, kde je PHP dostupný jako modul (dynamicky linkovaná knihovna – soubor .dll) pro rozšíření ISAPI (Microsoft Internet Server API – spolupráce web-server<->aplikace), což značně urychluje jeho činnost, neboť se interpreter nemusí při každém volání znovu zavádět do paměti, nýbrž je v ní trvale zavaden.

PHP kromě těchto variant existuje ještě jako modul pro Linuxovský web-server Apache, kde je podobně jako u ISAPI interpreter permanentně zaveden v paměti. To je ale samozřejmě vázáno s nutností použít právě tohoto web-serveru, což degraduje celou myšlenku PHP – a sice kompatibilitu s jakýmkoliv web-serverem. Je to případ právě konkurenčního skriptovacího jazyka ASP, jenž je vázán právě pouze na web-server firmy Microsoft, která se samozřejmě s podporou pro jiné OS než Windows nijak nezabývá. Bohužel výrazné změny na platformě 32bitových Windows s sebou nenesou jen klady – příkladem toho je, že zde nebudou již použitelné knihovny DLL, používané v PHP3.

Zbývá tedy už jen otázka, kde jej sehnat? Je možné si jej stáhnout adresy www.php.net nebo ještě lépe z českého mirroru www.php.cz. Vyberete si pouze požadovanou platformu a už můžete stahovat – instalace se provede prostým rozbalením archivu do určeného adresáře na disku (myšlena klasická distribuce interpreteru – nikoli modul pro Apache či ISAPI, tam je to drobet o něčem jiném) a zkopírováním souboru php3.ini do adresáře s Windows (obvykle C:\Windows\).

Jak již bylo zmíněno, PHP je skriptovací jazyk, který se vykonává na serveru, pro naši další práci je tedy nutný přístup k nějakému webserveru. Jistě by nebylo moudré připojovat se při každém našem požadavku na vyzkoušení skriptu na nějaký vzdálený web server, tam soubor uploadovat a pak teprve browserem downloadovat výsledné HTML (na druhou stranu by to programátora donutilo počínat si při vytváření skriptu velice obezřetně a promýšlet řádně každý svůj krok, než by napsal nějaký nesmysl – kéž by se alespoň trochu tak chovali vývojáři některých známých softwarových producentů). Proto je více než záhodno nainstalovat si web-server na svém vlastním počítači, už jen proto, že tak budou moci PHP používat i ti, kdož nejsou připojeni k Internetu či dokonce na svém počítači, ani nemají instalovánu žádnou síťovou kartu či modem. Ti využijí možnosti tzv. loopbacku, což je přesměrování na váš lokální počítač (IP adresa 127.0.0.* se považuje jako localhost – tedy adresa lokálního počítače).

V tomto případě je ve Windows nutné nainstalovat ovladač telefonního adaptéru (dial-up adapter) (i přesto, nejste-li jeho majiteli) a poté samozřejmě TCP/IP protokolu (jako IP adresu pak můžete nastavit libovolnou). Poté se již můžete poohlédnout po nějakém web-serveru.

K mání je dnes opravdu velké množství kvalitních web-serverů, takže není žádný problém vybrat si podle svého gusta. Pro operační systém Linux je volba myslím jednoznačná – Apache je jistě tou nejlepší volbou.

Pro 32bitové Windows se nám nabízí hned několik kvalitních produktů. I zde můžeme zůstat věrni vyhlášenému Apache (už jistou dobu je přepsaný i pro tuto platformu), nebo naopak vyzkoušet nějaký nový, exoticky vypadající web-server. Jelikož předpokládám, že jste v tomto ohledu začátečníci, doporučil bych nějaký malý, intuitivní, pokud možno tuzemský produkt – např. tedy PinkNet Webserver (neplést s PersoNal WebServer od Microsoftu). Ten je možné získat na adrese: http://pnws.pinknet.cz (jedná se o freeware). Korektní nastavení tohoto web-serveru pro spouštění PHP skriptů by neměl být problém ani pro začátečníka, tak snad jen v základních bodech:

  • po nainstalování spusťte web-server (např. ze Start menu)
  • v libovolném browseru zadejte adresu http://localhost/admin.html (doménu localhost můžete nahradit i názvem vašeho počítače – např. http://aceman/admin.html) pozn.: při zadání http://localhost/ se vám ukáže ovládácí menu programu
  • odtud se po přečtení nápovědy dostanete do „setupu“ – server lze totiž s výhodou konfigurovat přímo z browseru (před vstupem do setupu po vás bude požadováno zadání loginu a hesla – zadejte tedy „admin“ a „heslo“ – heslo lze samozřejmě změnit
  • pod „interpreti“ asociujte k příponě souboru s PHP skripty volání interpreteru (platí pravidlo, že soubory PHP skriptů mají koncovku .php, .php3 či .phtml), který jste předtím již rozbalil do nějakého adresáře
  • pod položkou „zástupci – mapování adresářů“ je záhodno si namapovat speciální adresář, který pak lze volat přímo z browseru (např. „/moje-php3/“ zastoupit adresářem „F:\moje-php3\“ – k němu (souborům v něm) lze poté přistupovat jako k http://localhost/moje-php3/“) pozn.: http://localhost/ směřuje do základního adresáře, kterým bývá obvykle nějaký v adresáři se samotným web-serverem (např. C:\Program Files\PinkNet Web Server\www\)
  • nyní už zbývá jen restartovat server

Nutno podotknout, že jednoduchost předchozího webserveru je vyvážena občasným chybováním. Pokud tedy dáváte raději přednost profesionálním produktům, doporučuji freewarový web-server OmniHTTPd, který si můžete stáhnout z adresy http://www.omnicron.ca/httpd/download.html. I zde je tedy popis instalace a konfigurace tohoto programu:

  • Po nainstalování spusťte konfiguraci tohoto programu – vybráním „OmniHTTPd Administration“ ze Start menu či souborem oadmin.exe z adresáře s programem.
  • Vyberte ze seznamu profilů defaultní (localhost [default]), poté zvolte položku „Web Server Global Settings“
  • Pod složkou „External“ nalistujte souborovou příponu „.php“ a upravte cestu (položka „Actual“) k vašemu umístění interpreteru php.exe, poté pro potvrzení změn zvolte tlačítko „Replace“ (toto nastavení můžete přidat i pro jiné přípony souborů tím, že v položce „Virtual“ zadáte např. „.php3“, ponecháte cestu k interpreteru a poté zvolíte „Add“).
  • Zvolte složku „MIME“ a opět vyhledejte příponu „.php“; stejným způsobem (přepsáním v položce „Virtual“ a tlačítkem „Add“) můžete přidat toto nastavení i pro další přípony souborů, u kterých si přejete, aby byly asociovány s interpreterem PHP (např. „.php3“ atd.) poté potvrďte OK
  • v Položce „Edit“ můžete poté konfigurovat různé další parametry serveru – např. adresář kam směřuje adresa „http://loacalhost“ (složka „Server“, položka „Server Root“), je zde také možno namapovat další adresáře (složka „Alias“) atd.

Po instalaci a konfiguraci web-serveru tedy vyzkoušíme, nakolik jsme byli úspěšní, a to jednoduchým způsobem: Do adresáře, ke kterému lze přistupovat přes browser (namapovaný či základní) si zkopírujeme nějaké html soubory nebo ještě lépe PHP skript, a poté již zadáme v browseru adresu, příslušící zmiňovanému adresáři se souborem – tedy např. http://localhost/moje-php3/php-test.php3 POZOR: skripty se musí volat pouze přes jejich URL adresu – nelze tedy v browseru napsat f:\moje-php3\test-php.php3, neboť takto by požadavek na vyřízení skriptu (získání) nebyl zpracován web-serverem, nýbrž samotným browserem, tzn. že by web-server nevolal interpreter PHP! Pro správnou funkčnost nezapomeňte ještě do téhož adresáře přidat soubor http.aut, tak jak je to uvedeno v informacích o programu.

Nakonec ještě slibovaná první ukázka – jelikož však k PHP není dodáváno žádné IDE (vývojové prostředí) je jen na vás, v čem jej budete psát (např. poznámkový blok).

Než však uvedu nějaký příkaz, je nutné vědět, že celý PHP skript se píše mezi značky „<?“ a „?>“ – jsou to tedy jakési signifikátory na způsob „begin“ a „end“ v Pascalu.

Příkaz, kterým si prakticky ověříme správnou funkčnost PHP je phpinfo(); – ten vypíše různé informace o PHP instalovaném na vašem počítači. Zápis bude tedy následovný:

<html>
<body>
<?
phpinfo();
?>
</body>
</html>


Pravděpodobně budete později chtít umístit vaše skripty na nějaký webserver připojený k Internetu. Pokud tedy nemáte známé správce serveru, můžete zkusit web hosting na některých českých web serverech podporujících PHP – z těch nekomerčních je to např. www.jinak.cz (donedávna zcela bezplatně, dnes zdarma pouze pro autory serveru vybrané, kvalitní stránky), z cizích nekomerčních PHP podporuje např. Miesto.sk.

V tomto dílu seriálu o skriptovacím jazyku PHP jsme si tedy připravili jakousi „živnou půdu“, na níž budeme moci již příště hospodařit.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Štítky: Články

Mohlo by vás také zajímat

Nejnovější

2 komentářů

  1. Pavel

    Kvě 13, 2011 v 14:22

    Pěkný článek, na začátek ideální informace.

    Odpovědět
  2. Tereza

    Bře 16, 2012 v 13:23

    Já vím, proč chci být programátor :). Jinak, celkem užitečný článek…

    Odpovědět

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *