PHP/Käyttö
PHP rakentuu hyvin pitkälle valmiin luokkakirjaston käyttöön. Luokkakirjasto tukee useita eri alueita kuten HTTP-protokollaa, useiden eri tiedostotyyppien muokkausta, tietokannan hallintaa sekä paljon muuta. Kappaleen lopussa löytyvistä tietoturvavinkeistä saat hyödyllisiä vihjeitä turvallisten asetusten sekä koodauskäytäntöjen osalta.
Luokkakirjastot
[muokkaa | muokkaa wikitekstiä]PHP sisältää itsessään suuren joukon valmiita luokkakirjastoja muun muassa tiedostojen, tietokantayhteyksien sekä erilaisten merkkijono- ja päivämäärätoimintojen suorittamiseksi. PHP on versiosta 3 lähtien tukenut kolmansien osapuolien ohjelmointirajapintoja, ja tämän ansiosta PHP:n luokkakirjastot ovatkin määrällisesti lisääntyneet kymmenistä luokkakirjastoista satoihin luokkakirjastoihin.
Tietokantojen käyttö
[muokkaa | muokkaa wikitekstiä]PHP on tukenut versiosta neljä lähtien kolmansien osapuolien ohjelmointirajapintoja. Tämä on mahdollistanut laajan tuen eri tietokannoille ja niiden tehokkaalle hyödyntämiselle.
Tietokantakohtaiset luokkakirjastot
[muokkaa | muokkaa wikitekstiä]Tietokantakohtaiset luokkakirjastot tarjoavat laajan tuen tietokannan käyttämiseksi. Tuettuina tietokantoina ovat muun muassa MySQL, PostgreSQL, SQLite ja Oracle.
ODBC
[muokkaa | muokkaa wikitekstiä]Monikäyttöinen ODBC-luokkakirjasto tarjoaa yhtenäisen rajapinnan muun muassa Adabas D, IBM DB2, iODBC, Solid, ja Sybase SQL Anywhere tietokantoihin. Kun tarvitaan joustavuutta ja mahdollisuutta siirtyä tietokannasta toiseen, on ODBC:n käyttö suositeltavaa.
Olio-ohjelmointi
[muokkaa | muokkaa wikitekstiä]Ennen versiota kolme PHP ei sisältänyt mahdollisuutta olio-ohjelmointiin. PHP 3 sisälsi hyvin minimaalisen tuen olio-ohjelmoinnille, ja sama semantiikka tuli käyttöön myös PHP 4:ssä.
Kuitenkin PHP 5:stä lähtien olio-ohjelmointi on ollut lähestulkoon täydellisesti tuettuna. Ominaisuudet, jotka tulivat PHP:hen mukaan vitosversiossa, ovat seuraavat:
- Uusi oliomalli
- Uudessa oliomallissa PHP käsittelee oliota resursseista tutuilla viittauksilla, kun aikaisemmin käsittelytapa oli enemmänkin primitiivimuuttujan (kuten kokonaisluvun tai merkkijonon) tyylinen. Etuna tässä on se, että nykyisin koko oliota ei tarvitse kopioida lähetettäessä sitä muuttujalle tai metodille, ja olion eri osa-alueiden käsittely nopeutuu sekä helpottuu.
- Yksityinen- ja suojattu-määritykset muuttujille ja metodeille
- Aikaisemmin PHP ei ole tukenut kuin julkisen luokan määrityksiä.
- Abstraktit luokat ja metodit
- PHP 5 sisältää myös tuen abstrakteille luokille ja metodeille. Mikäli olio sisältää abstrakteja metodeja, tulee sen olla myös abstrakti luokka.
- Käyttöliittymät
- Luokkaan voidaan sisällyttää omavaltainen luettelo käyttöliittymistä.
- Olion monistaminen (kloonaus)
- Kun luodaan kopiota oliosta avainsanalla clone, suoritetaan olion __clone() mikäli sellainen löytyy.
- Yhdenmukaistettu muodostin sekä tuhoamismenetelmä
- Aikaisemmissa PHP:n versioissa muodostin (constructor) on toteutettu luokan nimen metodilla. Uusi, yhdenmukaistettu tapa on __construct().
- PHP ei ole ennen versiota viisi tukenut luokan tuhoamista (destructor)-metodin avulla. PHP 5 käynnistää __destructor() -metodin mikäli viimeinen viittaus olioon tuhotaan. Luokan tuhoaminen vapauttaa muistin ja suorittaa muut metodille määritellyt tehtävät.
- Poikkeuskäsittelijät
- PHP 5 sisältää poikkeuskäsittelijät (exception handling) olioille.