C, python, perl, ...?

Jirka Kosek jirka na kosek.cz
Pondělí Říjen 15 15:11:14 CEST 2001


Karel Zak wrote:
>  Podivam-li se na Perl, Python, C/C++ (mozna i Javu) jsem schopen
>  rict co, ktery jazyk prinesl noveho. U PHP mne nic rozumneho
>  nenapada.

Co se týče schopností samotného jazyka nenabízí PHP opravdu nic
převratného, spíš mu mnoho věcí stále chybí - např. zpracování výjimek
apod. 

PHP však bylo původně navrženo jako jazyk pro snadné generování web.
stránek a obsluhu dat z formulářů. V PHP jsou tyto dvě věci mnohem
jednodušší než v jiných jazycích, protože s nimi rovnou PHP počítá.
Formulářová pole jsou načtena do proměnných, můžete míchat HTML a PHP
kód. Ve větších projektech typu informační systém s webovým rozhraním
vám tyto vlastnosti samozřejmě nijak moc nepomůžou, a napsat to v Perlu
nebo Javě je stejná práce (možná třeba ještě menší protože ty jazyky
mají lepší podporu pro výjimky, Unicode, OOP, ...).

Když si však někdo chce na stránku umístit nějaký dotazník a podobnou
legrácku, je pro něj asi nejjednodušší naučit se PHP (pokud zatím neumí
jiný jazyk použitelný pro generování stránek).

PHP podle mne přineslo "masám" možnost vytvářet dynamické webové
stránky. Otázkou zůstává, zda je to dobře. ;))

Jinak PHP nabízí ještě jednu věc, u které si nejsem jistý jestli ji
třeba umí Perl. Lze zapnout bufferovaný výstup, kdy se s odesláním
vygenerované stránky čeká až na její dogenerování. HTTP hlavičky (včetně
cookies) lze pak posílat kdykoliv, v případě chyby lze buffer smazat a
vygenerovat chybovou stránku. Navíc lze obsah bufferu kdykoliv přečíst a
znovu zpracovat. Buffery jsou navíc rekurzivní - lze je vkládat do sebe.
Můžete třeba generovat XML kód a před odesláním na klienta jej z bufferu
vytáhnout, zjistit si verzi prohlížeče a pustit na to XSLT transformaci
upravenou podle klienta. Buffer se může postarat i o transparentní
gzipování stránek pro prohlížeče, které to podporují.

-----------------------------------------------------------------
  Jirka Kosek  	                     
  e-mail: jirka na kosek.cz
  http://www.kosek.cz


Další informace o konferenci Databases