Hopp til innhold

PHP: Forskjell mellom sideversjoner

Fra Wikipedia, den frie encyklopedi
Slettet innhold Innhold lagt til
Frodese (diskusjon | bidrag)
hovedsakelig
TommyG (diskusjon | bidrag)
Linje 4: Linje 4:
I [[1995]] skrev [[Rasmus Lerdorf]] et sett [[skriptspråk|skripter]] i [[Perl]] for å holde øye med besøksstatistikken på hans [[Curriculum Vitae|CV]] som lå tilgjengelig på [[Internett]]. Senere skrev han om pakken i [[C (programmeringsspråk)|C]], og PHP 1 ble utgitt det samme året, og [[kildekode]]n var åpen (PHP1 finnes i PHPs [http://museum.php.net museum]). Pakken ble kalt ''Personal Homepage Tools'', og en liten gruppe samlet seg om prosjektet.
I [[1995]] skrev [[Rasmus Lerdorf]] et sett [[skriptspråk|skripter]] i [[Perl]] for å holde øye med besøksstatistikken på hans [[Curriculum Vitae|CV]] som lå tilgjengelig på [[Internett]]. Senere skrev han om pakken i [[C (programmeringsspråk)|C]], og PHP 1 ble utgitt det samme året, og [[kildekode]]n var åpen (PHP1 finnes i PHPs [http://museum.php.net 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 nye ting lagt til, som f.eks. støtte for kommunikasjon mot [[database]]r. Språket lignet nå litt på [[Perl]], men med en mindre konsistent og mer begrenset [[syntaks (programmering)|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 var bl.a. mye raskere enn de tidligere versjonene.
Da PHP 2 – kalt PHP/FI (''Form Interpreter'') – kom, ble en del nye ting lagt til, som f.eks. støtte for kommunikasjon mot [[database]]r. Språket lignet nå litt på [[Perl]], men med en mindre konsistent og mer begrenset [[syntaks (programmering)|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 var bl.a. mye raskere enn de tidligere versjonene.


PHP opparbeidet seg etter hvert en stor brukerbase, og ble etter hvert ansett som en standard installasjon på flere av [[vevtjener]]ne på Internett. Så kom PHP 4 med den nye ''Zend Engine'', som ligger til grunn for selve språket. De versjonene som støttes offisielt idag, er PHP 5.0 og sikkerhetsoppdateringen av PHP 4 til versjon 4.4.
PHP opparbeidet seg etter hvert en stor brukerbase, og ble etter hvert ansett som en standard installasjon på flere av [[vevtjener]]ne på Internett. Så kom PHP 4 med den nye ''Zend Engine'', som ligger til grunn for selve språket. De versjonene som støttes offisielt idag, er PHP 5.0 og sikkerhetsoppdateringen av PHP 4 til versjon 4.4.

Det offisielle [[akronym]]et for PHP er nå [[rekursiv]]t: ''PHP'': ''H''ypertext ''P''reprocessor.


== Popularitet og kritikk ==
== Popularitet og kritikk ==

Sideversjonen fra 23. mai 2006 kl. 12:00

PHP er et dynamisk, tolket og svakt typet programmeringsspråk hovedsakelig brukt for å utvikle dynamiske nettsider. PHPs syntaks ligner C og Perl. Det finnes per i dag kun en implementasjon av PHP, en fri og åpen versjon skrevet i C og distribuert via php.net og SourceForge. PHP startet som et sett skripter i Perl. Nåværende versjon av PHP er 5.1.2.

Historie

I 1995 skrev Rasmus Lerdorf et sett skripter i Perl for å holde øye med besøksstatistikken på hans CV som lå tilgjengelig på Internett. Senere skrev han om pakken i C, og PHP 1 ble utgitt det samme året, og kildekoden var åpen (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 nye ting 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 var bl.a. 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. De versjonene som støttes offisielt idag, er PHP 5.0 og sikkerhetsoppdateringen av PHP 4 til versjon 4.4.

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.

Selv ett år etter at PHP 5 ble sluppet har en stor del av brukerbasen ikke oppgradert serverne sine til nyeste versjon. 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, men denne har vært dårlig. I PHP 5 har mye av dette blitt rettet på.

Noen, som f.eks. utviklere som er vant til Java og Java Server Pages, kritiserer PHPs løse type-system som gjør at man f.eks. kan behandle tall som tekst, tekst som boolske verdier osv. Dette kan gi uforutsette konsekvenser, men er ofte betegnet som en fordel når man prototyper programvare.

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, manipulerasjon av bilder (via ImageMagick eller GD), jobbe med filer, XML, behandling av tekst, PDF og så videre. Eksempelsvis 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:

Nytt i PHP 5

PHP 5 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 databasesystemet.

Eksempler

Hello World

<?php
echo 'Hello, world!';
?>

99 Bottles of Beer on the Wall

<html>
<head><title>99 Bottles of Beer on the Wall</title></head>
<body>
<h1>99 Bottles of Beer on the Wall</h1>
<p>
<?php
$beer = 99; // Lagre tallet 99 i en variabel.

// Så lenge variablen $beer er større en 1, kjør understående komando
// og repeter den til $beer ikke lengre er større en 1.
while($beer > 1)
{

print($beer.' bottles of beer on the wall, '.$beer.' bottles of beer.<br />'."\r\n");
$beer--; // Trekk 1 fra $beer (snarvei for $beer = $beer - 1;)

}
?>
1 bottle of beer on the wall, 1 bottle of beer.<br />
No more bottles of beer on the wall.<br /><br />
No more bottles of beer...<br />
Go to the store and buy some more...<br />
99 bottles of beer.
</p>
</body>
</html>

Passordbeskytte informasjon

<html>
<head><title>Logg inn med passord</title></head>
<body>
<h1>Passord:</h1>
<form action="<?php echo basename(__file__); ?>" method="post">
  <div>
    <input type="password" name="passordinput">
    <input type="submit" name="ok" value="Logg inn">
  </div>
</form>

<?php
$passord = "hemmelig"; // Vi lagrer passordet "hemmelig" i en variabel

/*
 her sjekker vi at brukeren har lagt ved et passord,
 samt at det matcher passordet lagra i variabelen $passord
*/
if(isset($_POST['passordinput']) && $_POST['passordinput'] == $passord)
{

print '<strong>Du skrev inn riktig passord!</strong></p>
Dette er hemmelig informasjon som kun innloggede personer kan se.';

}
else
{

print '<strong>Du må skrive inn riktig passord for å lese denne filen</strong>';

}

?>
</body>
</html>

Eksterne lenker