PHP Φßst I.

7. 6. 1999on-line novΘ okno dom∙ p°edchozφ Φlßnek nßsledujφcφ Φlßnek

O dynamick²ch webech a programovßnφ serveru pomocφ PHP se doΦtete v ·vodnφ Φßsti na╣eho miniserißlu.

V n∞kolika dφlech se budu sna╛it provΘst vßs sv∞tem dynamicky generovan²ch web∙ a hlavn∞ programovacφho jazyka PHP. Znalci omluvφ a p°eskoΦφ (nebo u╛ rad╣i v∙bec neΦtou :)), ale myslφm si, ╛e si toto tΘma zaslou╛φ nakousnout trochu vφce ze╣iroka.

Tedy co, kde, kdy, jak, proΦ a za kolik je PHP? Jak u╛ bylo °eΦeno, je to programovacφ jazyk, jeho╛ zßkladnφm poslßnφm je dynamickΘ generovßnφ html strßnek na webovΘm serveru. K tomuto ·Φelu je vybaven rozsßhlou sadou funkcφ, kterΘ jako webov² programßtor pot°ebujete, a naopak vßs p°φli╣ neobt∞╛uje ╛ßdn²mi zbyteΦn²mi "mo╛nostmi" navφc. Jeho domovskou platformou je Linux (a mnoho dal╣φch unixov²ch OS), ale m∙╛ete jej pustit i na 32-bitov²ch Oknech. Na webu jej najdete na www.php.net nebo u nßs doma na www.php.cz a m∙╛ete si jej rovnou stßhnout, proto╛e je to na╣e oblφbenΘ Open Source. Tak╛e v╣e, co za jeho pou╛φvßnφ zaplatφte, je Φas strßven² studiem jazyka. Co╛ mne p°ivßdφ k zamy╣lenφ, zda se vyplatφ investovat trochu Φasu do n∞jakΘho dal╣φho jazyka (nebylo toho u╛ dost? Jen se Φlov∞k trochu nauΦφ Clipper, u╛ ho pronßsledujφ ty stra╣nΘ knihovny v Delphi :) ).

Graf nasazenφ PHP

Nevφm, nakolik je tento graf, ukazujφcφ v²voj poΦtu instalacφ PHP na webov²ch serverech, pravdiv². Ka╛dopßdn∞ jsem p°esv∞dΦen, ╛e je to v souΦasnΘ dob∞ nejpopulßrn∞j╣φ nßstroj pro tvorbu dynamick²ch web∙. Podle mne p°edev╣φm z t∞chto d∙vod∙: Je jednoduch² a rychle se jej nauΦφte (pokud mßte alespo≥ zßkladnφ zku╣enosti s programovßnφm). Je v²konn², pom∞rn∞ stabilnφ a t²m v²vojß°∙ neustßle pracuje na jeho zdokonalenφ (nap°φklad tΘm∞° okam╛it∞ po uvoln∞nφ linuxovΘ verze Interbase byla k dispozici p°φslu╣nß sada funkcφ). Nenφ to ╛ßdnß jedno·Φelovß hraΦka; programßtor mß k dispozici plnohodnotn² modernφ strukturovan² jazyk s podporou objektovΘho programovßnφ. A v neposlednφ °ad∞ je zde obrovskß masa v²vojß°∙, z nich╛ se v╛dy najde n∞kdo, kdo vßm prost°ednictvφm mailing-listu poradφ, a╛ narazφte (a tφm si bu∩te jisti) na n∞jak² problΘm. Mßm to vyzkou╣enΘ :) Odpov∞∩ znφ: vyplatφ se to.

DynamickΘ strßnky m∙╛ete vytvß°et i jinak. Klasick² jazyk jako je C je ale tak trochu kan≤n na vrabce; nutφ vßs v╣e kompilovat a mnoho v∞cφ, je╛ zvlßdnete s php na pßr °ßdcφch, budete programovat v cΘΦku podstatn∞ slo╛it∞ji. Na java servlety na linuxu asi rovnou zapome≥te, java zde neb∞hß zrovna moc dob°e a rychle. Existujφ takΘ r∙znΘ aplikaΦnφ servery, kterΘ jsem v╣ak nem∞l p°φle╛itost otestovat. Mßm rßd ·plnou kontrolu nad tφm, co se mi na serveru d∞je, a takΘ pokud nemßte vlastnφ server, budete asi t∞╛ko hledat providera, kter² vßm n∞co takovΘho nainstaluje. Mnoho lidφ pou╛φvß pro generovßnφ html strßnek Perl - jestli ho u╛ umφte, tak proΦ ne. Jß jsem to vzdal, na tohle nemßm nervy, prost∞ tomu nerozumφm a ani nechci. Mßm jen jednu hlavu :) Toto v╣e je samoz°ejm∞ m∙j subjektivnφ pohled; pokud si myslφte, ╛e znßte n∞co lep╣φho, ne╛ je PHP, pi╣te. Rßd se nechßm pouΦit.

Na zßv∞r koneΦn∞ trochu konkrΘtnφch informacφ o PHP (sprßvn∞ bych m∞l asi psßt PHP3). S webov²m serverem komunikuje PHP pomocφ CGI rozhranφ nebo v p°φpad∞ Apache i jako modul, zkompilovan² spoleΦn∞ s httpd serverem (co╛ je °e╣enφ bezpeΦn∞j╣φ a rychlej╣φ, odpadß zde re╛ie spou╣t∞nφ externφho procesu). Vlastnφ k≤d programu umis╗ujete p°φmo do .html souboru do tagu <script> (toto je pouze jedna z metod vklßdßnφ povel∙ PHP do strßnky - poznßmka redakce). PHP funguje jako parser .html strßnek, kterΘ p°edßvß beze zm∞n dßl, pokud nenarazφ na kousek svΘho k≤du. Ten je interpretovßn (nemusφte se p°φli╣ obßvat nφzkΘ rychlosti provßd∞nφ k≤du - v∞t╣inou nepot°ebujete ╛ßdnΘ slo╛itΘ v²poΦty) a v²stup je poslßn http serveru. Syntaxe jazyka je podobnß C, s perlovsk²mi $var prom∞nn²mi. ╚ßsti k≤du m∙╛ete sdφlet mezi vφce strßnkami pomocφ funkcφ include() a require (). Umφ pracovat s Φφsly, texty, asociativnφmi poli i objekty s d∞diΦnostφ. Pomocφ rozsßhlΘ knihovny zabudovan²ch funkcφ m∙╛ete p°istupovat k dat∙m na SQL serverech, pou╛φvat regulßrnφ v²razy, zpracovßvat obrßzky, posφlat po╣tu, Φφst i zapisovat .dbf soubory (mßme p°ece v╣ichni n∞jakΘ to DOSovΘ ·Φetnictvφ) a mnoho dal╣φch v∞cφ.

Myslφm, ╛e by to mohlo pro dne╣ek staΦit - p°φ╣t∞ se budeme mo╛nostem jazyka a vyu╛itφ v praxi v∞novat podrobn∞ji.

Autor: Michal Samek (jinΘ Φlßnky tohoto autora)
Sekce: Programovßnφ


Diskuse

7. 6. 1999 18:56:00 - Sam jsem velkym fandou PHP, al... (Jakub Steiner)
Sam jsem velkym fandou PHP, ale pro nekoho kdo s dynamickymi strankami jeste nikdy nepracoval mozna bude zajimavy GPLed webovy server Roxen Challenger. (http://www.roxen.com). Mimo jine umi generovat obrazky, pracovat v nich s TrueType fonty apod. Samozrejme ze s GD, freetype to PHP umi taky, ale jak jiz bylo v clanku uvedeno, nestrilejme kanonem na vrabce. Challenger by mel byt mene narocny na prostredky nez Apache (to je asi taky trochu zavadejici, vzhledem k tomu, ze apac se da nakonfigurovat podle potreby ;). Az bude k dispozici Zend, tak byste v Roxenu meli moc psat i PHP4 kod. Takze ucit se PHP muzete tak jako tak ;)


on-line novΘ okno dom∙ p°edchozφ Φlßnek nßsledujφcφ Φlßnek