PHP
PHP KOULUTUSTA VUONNA 2008!
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi jo tänään.
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
Miksi PHP ?
NetCraftin tutkimusten mukaan PHP on tällä hetkellä ylivoimaisesti suosituin Apachen moduuli ja ohitti Toukokuussa 2002 ASP:n suosituimpana palvelinpohjaisena ohjelmointikielenä.
Ensimmäiseksi otamme lyhyen kurkkauksen PHP:n historiaan. Alkuperäisen PHP:n loi Rasmus Lerdof vuonna 1995, jolloin kyseessä oli lähinnä joukko yksinkertaisia Perl-skriptejä hänen omilla sivuilla käytettäväkseen. Hyvin pian hän alkoi kuitenkin saada pyyntöjä skriptien käyttämiseksi muuallakin ja päätti kirjoittaa skriptienginen uusiksi. Eräs ensimmäisistä tehtävistä olikin lisätä erittäin tärkeä ja yleinen piirre : lomakkeiden käsittely (PH/FI moduuli). Pikkuhiljaa kielen suosion kasvaessa kehittäjäryhmät loivat sille API:n, jonka myötä kielestä tuli PHP3. Koska kyseessä oli kuitenkin alkujaan hyvinkin pitkälti "suunnittelematon" prosessi, oli edessä ongelmia.
PHP:n suosion myötä sitä haluttiin ja yritettiin käyttää tehtäviin, joihin sitä ei oltu suunniteltu. Tyydyttääkseen tämän tarpeen PHP päätettiin kirjoittaa kokonaan alusta alkaen uudelleen. SkriptiEngine (nykyisin Zend) kirjoitettiin kokonaan uudelleen, jonka seurauksena syntynyt PHP4 on edeltäjiään huomattavasti nopeampi.
Tämä ei kuitenkaan riitä yksinään nostamaan kieltä maailmaan maineeseen. PHP:n menestystarinan takana onkin 4S+1C-yhdistelmä:
- Nopeus (Speed)
- Vakaus (Stability)
- Turvallisuus (Security)
- Yksinkertaisuus(Simplicity)
- Edullisuus(Cheap)
Nopeudesta puhuttaessa en tarkoita vain skriptin suorituksen nopeutta, vaan myös sitä että sen suorittaminen ei vaadi koneelta liikaa resursseja. Etenkin Unix/Linux-ympäristössä PHP toimii erittäin hyvin, mutta Windows ympäristössä sillä on vielä nykyäänkin tietynasteisia ongelmia.
Vakaus on jokaiselle webbisivulle elintärkeä piirre. Vaikka saitin ei tarvitsekaan välttämättä olla online 24/7-periaatteella, on kyseessä silti olennainen tekijä. Jos joka sadas sivunlataus aiheuttaisi virhetilanteen, olisi maailmassa paljon enemmän valituskirjeitä. PHP:n eduksi voikin mainita erittäin aktiivisen kehittäjäympäristön sekä kielen aktiivisen kehittymisen.
Turvallisuus on vakauden ohella erittäin tärkeä piirre www-palvelussa. Palvelusta ei pitäisi löytyä porsaanreikiä, joiden avulla joko sitä tai käyttäjätietoja voitaisiin manipuloida. PHP tarjoaa monta erinäistä turvallisuustasoa, jotka voidaan asettaa yhdessä .ini-tiedostossa. Tyhmyydestä voidaan kuitenkin sakottaa ja sen ansiosta missiokriittisten www-sovellusten tekemiseen kannattaakin käyttää aikaa suunnitteluun, toteutukseen ja testaukseen. Valittaessa käytettävää PHP:n versiota, kannattaa perehtyä turvallisuustiedotteisiin, sillä etenkin PHP:n 4.0x-versioissa on ilmennyt vakavaksi luonnehdittavia tietoturva-aukkoja, jotka uusimmat versiot ovat jo korjanneet.
Yksinkertaisuus on jokaiselle ohjelmoijalle sekä ilo että päänvaiva. Totuushan on, että ohjelmoinnissa mitään hyvää ei saa helpolla. PHP on piirteiltään ja syntaksiltaan hyvinkin helppo - kieli on vaikeampi kuin VisualBasic/VBScript, samaa luokkaa kuin JavaScript, mutta helpompi kuin Java. Helppoudesta seuraavat tietenkin omat rajoituksensa, mutta tämä on pieni (ja erittäin harvoin maksettava) hinta siitä että käytössä on nopea ja helppo kehitysmenetelmä.
Edullisuus on eittämättä pääsyyllinen php:n suosioon. Ennen PHP:tä "edullisia" komentosarjakieliä ei ollut. Jokainen saattoi aivan hyvin kehittää ratkaisuja kotikoneellaan, mutta niiden saaminen hostattavaksi maksoi lähes tulkoon aina maltaita (kuten asia nykyisinkin hyvin usein on). PHP muutti tilannetta hyvinkin rajusti. Olemalla alustariippumaton,siirrettävä, ilmainen ja helposti asennettava siitä tuli hyvinkin nopeasti monelle hosting-palvelujen tarjoajalle ylivoimainen lisäarvopalvelu, jonka avulla voitiin houkutella lisää uusia käyttäjiä. Verrattuna esimerkiksi ASP tai JSP/Servletti hostingiin, PHP hostingin normaalihinta on arviolta vähintäänkin puolet edullisempi. Ei siis olekaan mikään ihme, että opiskelijat ovat ottaneet kielen omakseen.
Nyt kun olemme päässeet kunnolla vauhtiin PHP:n suitsuttamisessa niin käydään nopeasti loputkin piirtet lävitse:
- Laajennettavuus: moduulirakenne mahdollistaa uusien lisäpalikoiden käyttöönottamisen välittömästi.
- Laitteistoriippumattomuus: PHP toimii (lähes) kaikilla alustoilla.
- Liitettävyys: PHP:llä on suoria rajapintoja Apacheen, IIS ym. keskeisiin palvelimiin. Vaihtoehtoisesti sitä voidaan ajaa CGI-tilassa.
- Tietokantaliittymät: PHP tarjoaa suoran tuen mm. MySQL, MSSQL ja Oracle tiekantoihin sekä muihin ODBC yhteensopiviin tietolähteisiin.
- Moduulikirjasto: valmiita PHP moduuleita on pilvin pimein käyttäjien ladattavaksi.
- OpenSource: PHP on " vapaan sorsan" tuote, joka tarkoittaa sitä että päivitys/bugifiksit on helppo tehdä itsekkin.
PHP:n edistymisen myötä myös työkalurintamalla on tapahtunut merkittävästi uudistuksia viimeisen 1-2 vuoden aikana. Markkinoiden johtavat sovelluskehittäjät, kuten Macromedia ja Adobe ovat lisänneet PHP-tuen webkehittäjille suunnattuihin tuotteisiinsa, Zendin omat kehittäjätyökalut ovat kehittyneet kaupalliseksi tuotteeksi ja tarjolla on jo muutamia ilmaisia, mutta erittäin laadukkaita kehitysympäristöjä.
Vaikka PHP sisältääkin monipuolisen ohjausrakennemallin, on sen virheenkäsittely alkeellisempi kuin Javassa, ColdFusionissa ja jopa ASP:ssa. Kyseessä on erittäin vakava puute, joka haittaa etenkin monipuolisissa ja missiokriittisissä projekteissa.
Toinen merkittävä heikkous PHP:ssa on sen kehityksen nopeus. Uusia alaversioita pursuaa maailmalle kuukausittain ja niiden piirteiden perässä pysyminen on tuskallinen tehtävä. Kun asiaa vertaa JSP:n tai ASP:n kehittymiseen on ero silmiinpistävä - niiden kohdalla päivityssykli on vuosia.
Tärkein kysymys on vielä jäljellä. Mikä on se oikea ohjelmointikieli juuri sinun tarpeisiisi ?.
Mikäli sivusi on hostattuna joko Unix/Linux-alustalla, voit valita joko Perlin tai PHP:n välillä. Molemmat ovat erinomaisia
ja monipuolisia skriptauskieliä. PHP:n etuna on ennen muuta yksinkertaisuus, joka tekee oppimiskäyrästä ja tuotannosta huomattavasti nopeampaa. Perliä rajoittaa myös tarjolla olevien pakettien hajanaisuus toimintojen osalta. Java- tai C-ohjelmoijalle taas
Servletit / JSP ovat selkeä vaihtoehto, mutta niiden kohdalla asia kaatuu hyvin usein rahaan - tai pikemminkin sen puutteeseen.
Windows alustalla ensisijaiset vaihtoehdot ovat ASP ja ColdFusion. Tässä kohden valintaan voivat vaikuttaa enemmän mielipidekysymykset kuin käytäntö. Enemmistö ihmisistä "inhoaa" Microsoftia ja sen tuotteita/teknologioita (mielestäni aivan järjettömistä syistä). Puhtaasti tekniseltä näkökannalta katsottuna PHP on heikompi vaihtoehto Windows-alustalla kuin kumpikaan ylläolevista vaihtoehdoista. Se on jonkun verran hitaampi, vie enemmän resursseja ennen muuta siitä puuttuu ASP:n tarjoama tuki integroitua Windowsiin COM-objektien avulla.
Tutustu artikkelin muihin osiin:
»»» PHP
»»»Johdanto PHP:n maailmaan
Tallenna tämä sivu kirjanmerkkeihin!