P°edmluva knihy
PHP -- tvorba interaktivnφch internetov²ch aplikacφ

P°edmluva

Vß₧enφ Φtenß°i,

kniha, kterou jste prßv∞ otev°eli, mne stßla p∙l roku ₧ivota. P∙vodn∞ m∞la mφt pouze t°ista stran, ale zßhy se ukßzalo, ₧e je to mßlo. Mo₧nosti PHP jsou opravdu neΦekanΘ a byla by velkß Ükoda vßs o n∞kterΘ z nich p°ipravit. Originßlnφ dokumentace nenφ tak podrobnß, jak byste si mo₧nß p°ßli, a navφc je v angliΦtin∞. Rozhodl jsem se proto zp°φstupnit mo₧nosti PHP vÜem. V²sledkem je, ₧e se na necel²ch p∞tistech stranßch dozvφte vÜe, co pot°ebujete znßt pro v²voj webov²ch aplikacφ v systΘmu PHP.

ZaΦn∞me vÜak popo°ßdku. Cφlem p°edmluvy je struΦn∞ seznßmit laskavΘho Φtenß°e s obsahem knihy.

V ·vodu se seznßmφte s v²vojem technologiφ, kterΘ se pou₧φvajφ pro tvorbu webov²ch aplikacφ -- a to jak na stran∞ klienta (v prohlφ₧eΦi), tak na stran∞ serveru.

Druhß kapitola vßm na n∞kolika mßlo strßnkßch struΦn∞, ale jasn∞ ukß₧e, k Φemu se dß PHP vyu₧φt. Pokud tedy nevφte, jestli vßm m∙₧e b²t PHP k n∞Φemu dobrΘ, p°eΦt∞te si ji -- stihnete to jeÜt∞ p°edtφm, ne₧ zaΦnete b²t v knihkupectvφ nßpadnφ.

T°etφ kapitola vychßzφ z toho, co se Φtenß° dozv∞d∞l v druhΘ kapitole. Jsou zde podrobn∞ popsßny vÜechny rysy a vlastnosti jazyka PHP, bez jejich₧ dobrΘ znalosti nelze psßt efektivnφ aplikace.

Nßsledujφcφ kapitola se v∞nuje hledßnφ a odstra≥ovßnφ chyb ve vaÜich aplikacφch. LΘty prov∞°enß programßtorskß pouΦka °φkß, ₧e v ka₧dΘm programu je alespo≥ jedna chyba. Ze zaΦßtku budou chyby i ve vaÜich aplikacφch, a proto je dobrΘ v∞d∞t, jak jim p°edchßzet a jak je oÜet°it.

Komunikace webov²ch aplikacφ s u₧ivatelem je obvykle zalo₧ena na formulß°φch vlo₧en²ch do HTML strßnky. V pßtΘ kapitole se proto podrobn∞ seznßmφme s mo₧nostmi, kterΘ HTML nabφzφ pro tvorbu formulß°∙. V²klad je ·zce provßzßn se zp∙soby, jak zφskanΘ ·daje zpracovßvat pomocφ PHP. Stranou nez∙stane ani problematika sprßvnΘho rozd∞lenφ obsluhy formulß°∙ mezi server (PHP) a klienta (JavaScript).

P°evß₧nß v∞tÜina dnes provozovan²ch aplikacφ jsou r∙znΘ (p°edevÜφm podnikovΘ) informaΦnφ systΘmy. Jejich zßkladem je v₧dy databßze, do kterΘ se uklßdajφ vÜechny pot°ebnΘ (a n∞kdy i nepot°ebnΘ) informace. Problematice spoluprßce PHP s databßzemi se proto v∞nujeme velice d∙kladn∞ v ÜestΘ kapitole. SouΦßstφ kapitoly je i struΦn² ·vod do jazyka SQL, kter² je dnes standardem pro komunikaci s databßzov²mi servery.

Po prostudovßnφ ÜestΘ kapitoly budete mφt ji₧ tolik znalostφ, ₧e se m∙₧ete pustit do v²voje komplexnφch webov²ch aplikacφ. Jako zdroj inspirace vßm poslou₧φ sedmß kapitola, kterß obsahuje ukßzky °eÜenφ r∙zn²ch problΘm∙ pomocφ PHP.

Jestli₧e mluvφme o komerΦnφm vyu₧itφ Internetu, dostßvß se automaticky do pop°edφ otßzka bezpeΦnosti. Ta je mnohdy velmi podce≥ovßna, a proto jsme ji v∞novali celou osmou kapitolu. Podrobn∞ se zde seznßmφte se zp∙soby, jak psßt skripty, kterΘ neohrozφ bezpeΦnost vaÜeho systΘmu.

PHP by nebylo tφm Φφm je (v souΦasnosti asi nejlepÜφm skriptovacφm prost°edφm pro tvorbu dynamicky generovan²ch strßnek), kdyby neobsahovalo rozsßhlou knihovnu funkcφ. V devßtΘ kapitole naleznete podrobn² popis vÜech funkcφ, vΦetn∞ jejich parametr∙, popisu jejich pou₧itφ a samoz°ejm∞ praktick²ch ukßzek vyu₧itφ.

Desßtß kapitola se v∞nuje protokolu HTTP a jeho rozÜφ°enφ o cookies. Profesionßl by m∞l znßt vÜe a tedy i protokol, kter² ke svΘ komunikaci pou₧φvajφ prohlφ₧eΦe a webovΘ servery -- zvlßÜt∞, pokud pomocφ protokolu HTTP m∙₧ete aplikacφm p°idat zajφmavΘ schopnosti.

Ka₧d² software je pot°eba p°ed jeho pou₧itφm nainstalovat a nakonfigurovat. A o tom je prßv∞ jedenßctß kapitola. Je za°azena a₧ na konci, proto₧e se Φasto stane, ₧e PHP je u₧ na vaÜem systΘmu nainstalovßno a vy se o instalaci nemusφte starat.

PHP je na Internetu jako doma a nenφ divu, ₧e zde nalezneme mnoho zajφmav²ch informaΦnφch zdroj∙, kterΘ s PHP souvisφ. Jejich p°ehled naleznete ve dvanßctΘ kapitole. Kniha je uzav°ena p°ehledem pou₧itΘ literatury a velice podrobn²m rejst°φkem.

Co byste m∞li znßt, ne₧ se pustφte do studia knihy? Nezbytn²m p°edpokladem je dobrß znalost jazyka HTML. Pro jeho nastudovßnφ vßm mohu doporuΦit knihu HTML -- tvorba dokonal²ch WWW strßnek. Pokud mßte n∞jakΘ zkuÜenosti s programovßnφm, urΦit∞ se vßm budou hodit. Pokud ne, nevadφ -- s trochou p°irozenΘ inteligence vÜe pochopφte.

V celΘ knize naleznete mnoho ukßzkov²ch aplikacφ a skript∙. Pokud si je chcete vyzkouÜet, nemusφte je opisovat. Na adrese http://www.kosek.cz/php/ naleznete zdrojovΘ texty vÜech ukßzek. Krom∞ toho se zde pokusφm zve°ej≥ovat r∙znΘ dalÜφ ukßzky vyu₧itφ PHP. UrΦit∞ zde naleznete materißl, kter² se bude podrobn∞ v∞novat prßci s XML-dokumenty -- na tuto zajφmavou problematiku nßm v omezenΘm rozsahu knihy bohu₧el nezbyl prostor.

Doufßm, ₧e vßm kniha dob°e poslou₧φ. Sna₧il jsem se ji napsat, jak nejlΘpe to Ülo. V dob∞ psanφ knihy nebyla originßlnφ dokumentace zdaleka kompletnφ, a tak jsem Φinnost mnoha funkcφ musel luÜtit p°φmo ze zdrojov²ch k≤d∙. Tato prßce je pom∞rn∞ pomalß a zdlouhavß. Potvrdilo se vÜak, ₧e zdrojovΘ k≤dy jsou nejlepÜφ dokumentacφ -- na konec v nich naleznete vÜe. Doufßm, ₧e v tΘto knize s mnohem menÜφm ·silφm naleznete vÜe, co pot°ebujete znßt. Pokud se vÜe povede, bude kniha na pultech Φesk²ch knihkupectvφ v dob∞, kdy se na trhu objevφ prvnφ knihy o PHP v angliΦtin∞.

I p°es veÜkerou snahu se vÜak Φlov∞k nevyvaruje chyb. Pokud v knize n∞jakΘ chyby naleznete nebo budete mφt ke knize n∞jakΘ v²hrady Φi p°ipomφnky, dejte mi v∞d∞t na adresu jirka@kosek.cz. Pom∙₧ete tak zkvalitnit dalÜφ vydßnφ knihy.

Rßd bych na zßv∞r pod∞koval p°edevÜφm vÜem tv∙rc∙m Open Source Software. Ukazuje se, ₧e software vytvo°en² na nekomerΦnφ bßzi, ke kterΘmu jsou k dispozici zdrojovΘ texty, je mnohdy mnohem kvalitn∞jÜφ ne₧ drahΘ komerΦnφ produkty. D∞kuji na tomto mφst∞ vÜem lidem, kte°φ se podφlejφ na v²voji PHP. O tom, ₧e jejich snaha nenφ marnß, sv∞dΦφ vφce jak 200 000 server∙ pracujφcφch prßv∞ s PHP.

M∙j dφk pat°φ i profesoru Knuthovi, kter² ji₧ p°ed dvaceti lety vyvinul dosud v mnoha ohledech nep°ekonan² sßzecφ systΘm TeX, kter² mnoho dalÜφch dobrovolnφk∙ doplnilo o dalÜφ podp∙rnΘ a u₧iteΦnΘ programy.

Dφk si zaslou₧φ i nakladatelstvφ Grada, zvlßÜt∞ pak ÜΘfredaktor poΦφtaΦovΘ redakce Ruda Pecinovsk², kte°φ podpo°ili vydßnφ tΘto knihy vyboΦujφcφ z °ady ostatnφch, vφce komerΦn∞ a spot°ebn∞, lad∞n²ch titul∙.

Pokud se vßm kniha bude lφbit, m∙₧e zato i Lenka M. A. T°φskovß, kterß knihu peΦliv∞ p°eΦetla a zahrnula m∞ (nejen;--) °adou cenn²ch p°ipomφnek.

P°eji vßm p°φjemnΘ a spadnutφm poΦφtaΦe neruÜenΘ Φtenφ knihy

Jirka Kosek

Praha -- Podolφ, 26. ledna 1999

Poslednφ ·prava 11. ·nora 1999
© Ji°φ Kosek 1999