PHP

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk
PHP
PHP-logo.svg
Utviklet av: The PHP Group
Operativsystem: Linux, Mac OS X, Windows, med flere[1]
Lisens: PHP-Lisens
Nettside: http://php.net/

PHP er et dynamisk, tolket og løst typet programmeringsspråk hovedsakelig brukt for å utvikle dynamiske nettsider. PHPs syntaks ligner C og Perl. Den vanligste implementasjonen av PHP er en fri og åpen versjon skrevet i C og distribuert av The PHP Group via php.net og SourceForge. En annen fri og åpen implementasjon, som muliggjør kompilering av PHP-kode til maskinkode, er utviklet av Roadsend Inc.

PHP distribueres under PHP-Lisensen.

Opprinnelig stod PHP for «Personal Home Page Tools», men betyr i dag "PHP: Hypertext Preprocessor".

Innhold

[rediger] Historie

I 1995 skrev Rasmus Lerdorf et sett skripter i Perl for å holde øye med besøksstatistikken på sin CV som lå tilgjengelig på Internett. Senere skrev han om pakken i C, og PHP 1 ble utgitt det samme året under åpen kildekode-lisensen GPL (PHP1 finnes i PHPs museum). Pakken ble kalt Personal Homepage Tools, og en liten gruppe samlet seg om prosjektet.

Da PHP 2 – kalt PHP/FI (Form Interpreter) – kom, ble en del nytt lagt til, som f.eks. støtte for kommunikasjon mot databaser. Språket lignet nå litt på Perl, men med en mindre konsistent og mer begrenset syntaks og mindre funksjonalitet. Senere sluttet Andi Gutmans og Zeev Suraski seg til prosjektet og skrev om PHP fra bunnen av. Resultatet var PHP 3, som bl.a. var mye raskere enn de tidligere versjonene. Samtidig endret man hva PHP sto for, til PHP: Hypertext Preprocessor, et rekursivt akronym.

PHP opparbeidet seg etter hvert en stor brukerbase, og ble etter hvert ansett som en standard installasjon på flere av vevtjenerne på Internett. Så kom PHP 4 med den nye Zend Engine, som ligger til grunn for selve språket. Den versjonen som støttes offisielt i dag, er PHP 5.0.

[rediger] Versjoner av PHP

Første utgave av PHP4 kom i Mai 2000[2], og har vært under utvikling helt til siste versjon 4.4.9 ble sluppet den 07.08.2008. Denne utgaven markerte PHP4s livssyklusslutt.[3][4]

PHP5 hadde sin første stabile versjon 13 juli 2004, og introduserte bedre støtte for objektorientert programmering og SimpleXML for enklere manipulering av XML. Neste versjon, PHP 5.1 introduserte et nytt grensesnitt for generisk kommunikasjon med databaser for å gjøre det enklere å kunne støtte flere forskjellige databasesystemer. PHP 5.2 introduserte betydelige forbedringer innen minnehåndteringen som forbedret ytelse og ressursbruk i forhold til eldre versjoner.

Per 13. februar 2011, er PHP 6 under utvikling og skulle opprinelig inneholde støtte for unicode, navnerom og innebygd bytecode-cache, men siste versjon av PHP, 5.3, har støtte for både unicode og navnerom. Det finnes ingen planer om når PHP 6 vil slippes.

[rediger] Popularitet og kritikk

PHP er utvilsomt populært, og holder ennå stand mot språk som først i nyere tid har blitt populært å bruke for nettet, som f.eks. Ruby – med Ruby on Rails – og Python med rammeverket Django.

Første stabile versjon av PHP 5 ble sluppet i Juli 2004, men en stor del av brukerbasen har fremdeles ikke migrert til nyeste versjon, fra PHP4. PHP 5 har blitt kritisert blant annet for å bryte støtten for programmer utviklet for PHP 4.x, selv om mange mener at dette ikke er korrekt. Andre har rettet kritikken mot PHPs dårlige støtte for objektorientert programmering. Støtte for noen av konseptene innen objektorientert programmering ble lagt til i PHP 3 og 4. Før PHP5 har støtten for objektorientert programmering vært svært mangelfull, men mye av dette har blitt rettet på i PHP5.

[rediger] Bruksområder

Selv om det finnes grensesnitt mot forskjellige løsninger for grafiske brukergrensesnitt, brukes PHP som oftest til utvikling av det underliggende på dynamiske nettsider, den delen av en applikasjon som behandler informasjonen på tjeneren og sender dem til klienten.

PHP har etter hvert fått støtte for mange forskjellige databasesystemer, manipulasjon av bilder (via ImageMagick eller GD), jobbe med filer, XML, behandling av tekst, PDF og så videre. Eksempelvis MediaWiki, som er applikasjonen som Wikipedia kjører på, er i all hovedsak utviklet i PHP.

Eksempler på applikasjoner som ofte blir skrevet i PHP:

Kombinasjonen Linux, Apache, MySQL, PHP kalles ofte LAMP, og har blitt et utbredt uttrykk for denne samlingen av fri programvare som til sammen er alt som behøves for å drive et websted (en vevtjener).

[rediger] Syntaks

PHP leser i all hovedsak kun kode som er i mellom <?php og ?> og <script language="php"> og </script>, men også kortversjonen <? ?> og asp-versjonen av dem <% %>, men disse er ikke anbefalt å bruke.[5][6] Første settet med kodedelimitere er best i bruk, siden når man bruker de i XML baserte språk som XHTML vil ikke koden ødelegge for validering.[7]

[rediger] Variabler

I PHP brukes dollarsymbolet($) for å definere en variabel. Variabler er, med unntak for superglobalene, lokale. Det vil si at de kun er tilgjengelige i scriptet de er definért i. $var = "tekst"; definért i side1.php kan altså ikke kalles på i side2.php. Dette kan imidlertid omgås ved å slå på register_globals i php.ini (konfigurasjonsfilen). Det er for øvrig sterkt anbefalt å slå av register_globals, da det er en stor sikkerhetstrussel.

[rediger] Eksempler

[rediger] Hello World

<?php
echo "Hello world!";
?>

Eller

<?php
print "Hello world!";
?>

Både "print" og "echo" er innebygde funksjoner (language constructs) for å skrive ut data til standard output. Begge gjør akkurat det samme, men før PHP4 var "echo" raskere.

[rediger] Objektorientering

Class Person
{
   public $first;
   public $last;
 
   public function __construct($f,$l)
   {
 
       $this->first = $f;
       $this->last = $l;
 
   }
 
   public function greeting()
   {
 
       return "Hei, jeg heter {$this->first} {$this->last}.";
 
   }
 
   public function staticGreeting($first, $last)
   {
 
       return "Hei, jeg heter $first $last.";
 
   }
 
}
 
$him = new Person('John','Smith');
$her = new Person('Sally','Davis');
 
echo $him->greeting(); // sender ut "Hei, jeg heter John Smith."
echo '<br />';
echo $her->greeting(); // sender ut "Hei, jeg heter Sally Davis."
echo '<br />';
echo Person::staticGreeting('John','Smith'); // sender ut "Hei, jeg heter John Smith."

[rediger] Eksterne lenker

[rediger] Referanser

  1. ^ Downloads - php.net
  2. ^ PHP 4 ChangeLog
  3. ^ News Archive - 2007
  4. ^ PHP 4 ChangeLog
  5. ^ PHP: Basic syntax(Engelsk). The PHP Group. Besøkt 22. februar 2008.
  6. ^ Your first PHP-enabled page(engelsk). The PHP Group. Besøkt 25. februar 2008.
  7. ^ Bray, Tim; et al (26 November 2008). Processing Instructions. Extensible Markup Language (XML) 1.0 (Fifth Edition). W3C. Besøkt 18. juni 2009.

Personlig
Navnerom
Varianter
Handlinger
Navigasjon
Prosjekt
Wikipedia
Andre
Eksternt
Lager
Utskrift
Verktøy
På andre språk