Kas yra PHP?

PHP (PHP hypertext preprocessor) tai skriptinimo kalba (scripting language) kuri pačioje pradžioje buvo orentuota tik į iternetą, nors šiuo metu ją galima "drąsiai" pavadinti programavimo kalba, kadangi su ja pilnai galima programuoti ne tik internetui (web'ui). Pavyzdžiui su php-gtk galima kurti pilnavertiškas cross platformines programas su GUI (graphical user interface), bei consolines programėles mail wrapperius ir t.t. PHP skriptai yra interpretuojami ir įvykdomi serverio pusėje. Pvz.:


<html>
<head>
<title>Pavyzdys</title>
</head>
<body>
<?php echo "Sveikas aš esu PHP skriptas"; ?>
</body>



Po šio skripto įvykdimo rezultate (naršyklėje) turėsime:

Sveikas aš esu PHP skriptas

Tai gana paprasta bet naudos iš to == nulis Pradžioje pagrindinis PHP privalumas prieš CGI buvo tai kad PHP skriptas galėjo būti lengvai įterpiamas į HTML kodą, kaip CGI reikėjo visą HTML outputint iš CGI skripto. Kuo toliau tuo rečiau HTML'as yra maišomas su HTML'u didesniuose projektuose, tam naudojami "Templait'ai" (šablonai?).

PHP skirtumas nuo JavaScript yra tai jog PHP skriptai yra atliekami serverio pusėje o vartotojui yra gražinamas rezultatas (HTML'u ar XML'u). Rezultatą vartotojas mato savo naršyklėje. Tuo tarpu kai Java Script yra pilnai perduodamas kliento mašinai (kompiuteriui) ir atliekamas klientinėje dalyje.

PHP sintaksės pagrindai yra paiimti iš: C, Perl, Java, todėl programavusiems šiomis kalbomis yra ypatingai lengva pradėti programuoti PHP.

Trumpa PHP istorija

Viskas prasidėjo 1994 metų rudenį, kai Rasmus Lerdorf'as nusprendė patobulinti savo Home-Page (asmeninį puslapį) ir parašyti asmeninį varikliuką kuris atlikinėtu paprasčiausius veiksmus. Šį varikliuką parengė 1995 metų pradžioje ir pavadino "Personal Home Page Tools". Šie "tools'ai" mokėjo ne itin daug, ir galimybės jo buvo tik pačios paprasčiausios, sudarė ją vos keletą makrosų. (Patį pirmajį Rasmus Lerdorf'o pranešimą į www konferenciją apie savo "Personal Home Page Tools" 1995 metais. Galite paskaityti štai čia.)

1995 metų viduryje atsirado antroji varikliuko versija kuri vadinosi PHP/FI version 2. FI - dėl vienos priežasties: tiesiog Rasmus'as padarė papildomą paketą kuris jau mokėjo interpretuoti formas (Form Interpretator). PHP/FI kompiliavosi į Apache Web serverį ir naudojo standartinį Apache API. PHP skriptai pasirodė spartesni serveryje nei CGI, nes nereikėjo kurti naujo process'o. Po truputi PHP pradėjo lygintis savo galimybėmis su Perl'u (populiariausia kalba CGI rašymui). Su laiku buvo pridėta ir daugelių duomenų bazių palaikymas (MySQL, Oracle ir t.t.), interfeisas GD bibliotekai (parašytas Rasmus'o ir iki šiol kuruojamas jo) leido dinamiškai kurti paveiksliukus. PHP/FI labai greitai pradėjo plisti.

1997 metų pabaigoje Zeev Suraski ir Andi Gutmans nusprendė perrašyti PHP varikliuką su tikslu ištaisyti daugelį klaidų bei pagreitinti PHP skriptų atlikimą serveryje. Po pusės metų, 1998..06 išėjo nauja versija kuri buvo pavadinta PHP3. NetCraft'o duomenimis PHP 1999 metais naudojosi jau 1 mljn. domenų.

1999 metų pabaigoje buvo vėlgi perrašytas PHP3 varikliukas (pavadinimu Zend Engine) ir išleista nauja versija PHP4. Skirtumai tarp šių versijų yra tikrai dideli, kartu su pagrindiniu PHP branduoliu atsirado daugybe extension'u ir jie vis dar nenusutojami tobulinti ir rašyti (Extension'u pvz: gd, xslt, sockets,imap, daugelių DB support'ai ir t.t. ir t.t.).

Šiuo metu (2002 metų sausis) yra ruošiamas vėlgi patobulintas PHP varikliukas pavadinimu Zend Engine 2. Jis bus išleistas 2002 metų viduryje. Zend Engine 2 ir bus PHP5 "širdis bei smegenys". Pasak Zeev'o daugiausia darbo bus idėta į naujo objektinio modulio tobulinimą. Ištaisys Objekto kopijavimo atmintyje problema (dabar sunku atkasti ar tu sukuri jau esamo objekto kopiją), ideologija Zeev'as paėmė iš Java. Tiesiog kuriant objekta ( new Object() ) kintamasis nebus pats objektas o tiesiog referenc'as į jį, taip darant priskirimą naujam kintamąjam bus priskiriamas nebe pats objektas o jo referencas (objektas nekopijuojamas atmintyje). Taip pat atsiras destruktoriai, exception handler'iai (try/throw/catch) ir dauguma kitų pakeitimų (->_clone(),->_construct(), ->_destruct()...)

PHP privalumai ir trūkumai

Apie privalumus ir trūkumus prieš kitas panašaus tipo programavimo kalbas galite rasti internete. PHPEverywere turi puiku straipsnių rinkinį apie PHP bei cfm,perl,jsp,asp. Aš tiesiog paminėsiu pagrindinius privalumus ir trūkumus nelygindamas su kitomis kalbomis.

Privalumai:
php yra visiškai nemokamas
php yra visiškai cross platforminis ( veikia įvairiose operacinėse sistemose: Win, *nix, MacOS, Solaris, HP-UX, AIX ir t.t.)
php yra opensourc'inis projektas todėl jį developina didelė grupė žmonių, todėl iškilę bug'ai yra greitai ištaisomi, ir php sparčiai plečiasi
kaip ir cross platforminis jis veiki ir ant daugelio WEB serverių: Apache, IIS, PWS, OmniHTTP, BadBlue ir t.t.
išmokti PHP programavimo pagrindų yra labai lengva
pasižymi dideliu greičiu serverio pusėje, bei dirbant su duomenų bazėmis
nedideliuose projektuose PHP jūs paprastai galite įterpti į savo HTML'ą
developer'iai prirašė extension'ų kiekvienam gyvenimo atvejui
kadangi php programuotojų yra be galo daug, daugumą jau parašytų skriptų galite rasti internete: HotScripts, FreeScripts, PHPClasses.upperdesign.com ir t.t. ir t.t.
Trūkumai:
PHP == interpretatorius (nors tiesa sakant man tai netrukdo),
perskaitomi PHP sourc'ai
php-gtk sourc'ai vis dar negali būti encodinami
---
[^] Atgal
[«] Skaitykla

* * Gen. time: 0.0149
* © xneox.com