PHP
Fra Wikipedia, den frie encyklopedi.
PHP er et skriptspråk utviklet med utgangspunkt i å brukes til å lage dynamiske nettsider. Språket er også egnet til mer generelle bruksområder, men har på langt nær like stor utbredelse som et generelt skriptspråk.
PHP er lisensiert under PHP-lisensen, en lisens ikke ulik BSD-lisensen.
| Innholdsfortegnelse |
Historie
Den første utgaven av PHP ble lansert i 1995 (http://groups.google.com/groups?selm=3r7pgp$aa1@ionews.io.org), og erstattet et sett med Perl-skript. PHP/FI som var den andre versjonen av PHP kom i endelig utgave i November 1997. På dette tidspunktet var det fremdeles hovedsaklig Rasmus Lerdorf som sto for utviklingen. Kort tid etter kom Andi Gutmans og Zeev Suraski inn, og i samarbeid med Rasmus begynte utviklingen av PHP 3.0, som ble lansert som den offesielle arvtageren til PHP/FI. Dette førte til at videre utvikling av PHP/FI stort sett stoppet opp.
PHP 3 med sin støtte for eksterne moduler var antagligvis det store gjennombruddet til PHP. Dette gjorde det lett for utviklere å bidra med egne utvidelser, noe som tiltrakk seg mange nye bidragsytere. PHP 3 ble sluppet i endelig versjon i juni 1998 og var på det meste installert på ca. 10% av verdens vevtjenere.
Etter at PHP 3.0 ble sluppet, begynte Andi Gutmans og Zeev Suraski på en omskriving av PHP-kjernen. Den nye motoren i PHP ble kalt «Zend Engine», og danner grunnlaget for versjon 4 av PHP. «Zend Engine» ga en kraftig forbedret ytelse. I tillegg kom PHP 4.0 med støtte for mange nye vevtjenere, sesjoner (eng. Sessions), sikrere behandling av brukerdata og en rekke nye språkutvidelser. PHP 4.0 ble sluppet i mai 2000.
PHP 5.0 ble sluppet i juni 2004, med bla. en kraftig forbedret støtte for objektorientert programmering, brukerdefinerte unntak (eng. Exceptions) mm.
Språket
PHP har arvet mye av sin syntaks fra programmeringsspråk som C og Perl, men PHP gjør det mye enklere å integrere PHP med HTML.
<html> <head> <title>Hallo verden!</title> </head> <body> <?php echo "Hallo verden!"; ?> </body> </html>
Som du ser her så kan man lett legge inn PHP-kode i HTMLen, istedetfor slik man må i andre programmeringsspråk, ved f.eks å bruke print el. <?php og ?> start- og sluttdirektivene angir start og avslutting av PHP-modus, og det er bare kode omsluttet av disse taggene som blir parset av PHP-parseren. Det er delte meninger om dette er en nyttig eller skadelig egenskap, men nybegynnere setter ofte pris på denne funksjonaliteten.
Som et språk brukt i webutvikling, blir PHP kjørt på vevtjeneren, og det klienten mottar er resultatet av denne kjøringen. Klienten ser derfor aldri selve PHP-koden, bare resultatet av å kjøre scriptet.
Siden PHP distribueres som script, dvs. i kildekodeformat, er PHP i stor grad platformuavhengig. I alle fall i den grad at man kan kjøre script på alle operativsystemer der man har en PHP-parser tilgjenglig.
PHP har et stort antall innebygde funksjoner samt en lang rekke eksterne moduler. Disse tilbyr funksjonalitet for å jobbe med f.eks filer, databaser, nettverkskoblinger mm. Dette store antallet innebygde funksjoner kombinert med en omfattende og lettfattelig dokumentasjon gjør PHP til et språk som er lett å komme i gang med for nybegynnere, samtidig som det også tilbyr funksjoner som viderekommende og profesjonelle programmerere har behov for.
Databaser
PHP har støtte for å jobbe mot de fleste relasjonsdatabaser i utstrakt bruk i dag, bla. MySQL, PostgreSQL, Oracle og MSSql. De forskjellige databasedriverne har sine egne sett med funksjoner, og navngivingen og funksjonaliteten varierer. Dette har gitt oppspring til en lang rekke med databaseabstraksjonslag som skal gjøre det lettere å implementere støtte for flere databasesystemer samt å bytte fra et databasesystem til et annet. Et av de mer kjente av disse er PEARs (http://pear.php.net) DB (http://pear.php.net/package/DB/) klasser. Det jobbes også med egne PHP-moduler, bla. PDO (http://no.php.net/pdo).
Det varierer dog i hvor stor grad all funksjonaliteten fra de underliggende bibliotekene er implementert og gjort tilgjengelig i PHP. Et eksempel på dette er at PHP ikke støtter bruk av prepared statements i funksjonene for å jobbe med PostgreSQL.
Annet
PHP har også bindinger til flere forskjellige biblioteker som ikke er direkte relatert til web. På denne listen finner man store biblioteker som OpenGL, Ncurses, GTK og mange flere.
LAMP
På grunn av svært lett integrasjon blir mange dynamiske webløsninger i dag bygd opp av kombinasjonen Linux, Apache, MySQL, PHP, også kjent som "LAMP".
PEAR og PECL
PEAR og PECL er to systemer utviklet og vedlikeholdt av PHP-samfunnet, for å tilby et bibliotek av gjenbrukbare moduler for bruk i PHP.
Eksterne ressurser
- PHPs hjemmesider (http://www.php.net/)
- PHP Manual (http://www.php.net/manual/)
- PECL (http://pecl.php.net/)
- PEAR (http://pear.php.net/)
- PHP Norge (http://www.php.no/)
- PHPs historie (http://www.php.net/manual/en/history.php)

