PHP, som står for "Hypertext Preprocessor," er et open-source server-side scripting sprog, der primært er designet til webudvikling, men også bruges som et generelt programmeringssprog. Det er bredt kendt for sin brugervenlighed og fleksibilitet i at skabe dynamiske websider, effektivt interagere med databaser og håndtere formularer. PHP kan indlejres i HTML og er især velegnet til webservere. I 2023 driver PHP en betydelig procentdel af hjemmesider globalt, herunder store platforme som WordPress, Facebook og Wikipedia.
PHP blev oprindeligt oprettet af den dansk-canadiske programmør Rasmus Lerdorf i 1993. Det begyndte som et sæt af Common Gateway Interface (CGI) binære filer, som Lerdorf brugte til at vedligeholde sin personlige hjemmeside. Efterhånden som interessen for hans oprindelige projekt voksede, udvidede Lerdorf det til PHP/FI (Personal Home Page/Forms Interpreter) i 1995, hvilket gjorde det muligt for brugere at indsamle formular data og lettere administrere indhold.
Efter udgivelsen af PHP/FI så sproget bidrag fra et bredere fællesskab, hvilket førte til udgivelsen af PHP 3 i 1998, udviklet af Andi Gutmans og Zeev Suraski. Denne version introducerede en mere robust motor og funktioner, der lagde grundlaget for PHP 4 i 2000. PHP 5 fulgte i 2004 og introducerede objektorienteret programmering (OOP) kapabiliteter og PHP Data Objects (PDO) udvidelsen til databaseinteraktion.
Siden da har PHP set kontinuerlig udvikling, med PHP 7 der blev udgivet i slutningen af 2015, med fokus på ydeevneforbedringer og nye sprogfunktioner. I 2021 blev PHP 8 udgivet, hvilket introducerede JIT (Just In Time) kompilering, unionstyper, navngivne argumenter og attributter, hvilket yderligere cementerede dets relevans i moderne webudvikling. PHP fortsætter med at være en betydelig spiller i landskabet af programmeringssprog, med et stort økosystem af rammer, biblioteker og fællesskabsressourcer.
I PHP deklareres variabler med et dollartegn ($
) foran variabelnavnet.
$greeting = "Hej, Verden!";
PHP understøtter både indekserede og associative arrays, som kan indeholde flere værdier.
$fruits = array("æble", "banan", "appelsin");
$associativeArray = array("navn" => "John", "alder" => 30);
Funktioner i PHP kan defineres ved hjælp af function
nøgleordet, hvilket muliggør genbrug af kode.
function add($a, $b) {
return $a + $b;
}
PHP har typiske kontrolstrukturer som if
, else
og switch
til betinget logik.
if ($age >= 18) {
echo "Voksen";
} else {
echo "Mindretal";
}
PHP understøtter forskellige løkker, herunder for
, while
og foreach
.
foreach ($fruits as $fruit) {
echo $fruit;
}
PHP understøtter OOP-konceptet, herunder klasser og objekter.
class Car {
public $color;
function __construct($color) {
$this->color = $color;
}
}
$myCar = new Car("blå");
PHP giver fejlhåndtering ved hjælp af undtagelser med try
, catch
og finally
.
try {
throw new Exception("Der opstod en fejl");
} catch (Exception $e) {
echo $e->getMessage();
}
PHP tillader inkludering af filer til modulær programmering.
include 'header.php';
PHP giver flere indbyggede variabler kaldet superglobals, der er tilgængelige fra enhver omfang.
echo $_POST['username'];
Fra PHP 7 og frem kan type deklarationer bruges til at håndhæve typesikkerhed.
function sum(int $a, int $b): int {
return $a + $b;
}
Almindelige Integrated Development Environments (IDEs) for PHP inkluderer PhpStorm, Visual Studio Code, NetBeans og Eclipse PDT. Hver giver robuste værktøjer til fejlfinding, kodefuldførelse og projektledelse.
PHP er primært fortolket og er afhængig af Zend Engine til behandling af PHP-scripts. Det kan udføres i et servermiljø med softwarestakke som XAMPP eller LAMP.
Typisk er PHP-projekter struktureret i mapper, der indeholder kildefiler, konfigurationsfiler og afhængigheder. Composer er den afhængighedshåndterer, der almindeligvis bruges til PHP-applikationer, hvilket forenkler pakkehåndtering og autoloading.
PHP bruges primært til server-side scripting, men dets anvendelser strækker sig til:
Når man sammenligner med sprog som JavaScript, Python og Ruby, forbliver PHP et populært valg til web back-end udvikling på grund af sine omfattende biblioteker og rammer. Dog, mens PHP er eksplicit skræddersyet til webapplikationer, bruges sprog som Python og Ruby ofte til mere generelle programmeringsopgaver.
Kilde-til-kilde oversættelse, eller transpilation, involverer at konvertere kode fra ét programmeringssprog til et andet. Flere værktøjer findes til PHP: