PHP, som står för "Hypertext Preprocessor", är ett open-source server-side skriptspråk som främst är utformat för webbutveckling men också används som ett allmänt programmeringsspråk. Det är välkänt för sin användarvänlighet och flexibilitet i att skapa dynamiska webbsidor, effektivt interagera med databaser och hantera formulär. PHP kan bäddas in i HTML och är särskilt lämpat för webbservrar. Från och med 2023 driver PHP en betydande procentandel av webbplatser globalt, inklusive stora plattformar som WordPress, Facebook och Wikipedia.
PHP skapades ursprungligen av den dansk-kanadensiska programmeraren Rasmus Lerdorf 1993. Det började som en uppsättning av Common Gateway Interface (CGI) binärer, som Lerdorf använde för att underhålla sin personliga hemsida. När intresset för hans initiala projekt växte, utvidgade Lerdorf det till PHP/FI (Personal Home Page/Forms Interpreter) år 1995, vilket gjorde det möjligt för användare att samla in formulärdata och enklare hantera innehåll.
Efter lanseringen av PHP/FI såg språket bidrag från en bredare gemenskap, vilket ledde till lanseringen av PHP 3 år 1998, utvecklat av Andi Gutmans och Zeev Suraski. Denna version introducerade en mer robust motor och funktioner, vilket lade grunden för PHP 4 år 2000. PHP 5 följde år 2004 och introducerade objektorienterad programmering (OOP) och PHP Data Objects (PDO) för databasinteraktion.
Sedan dess har PHP sett kontinuerlig utveckling, med PHP 7 som släpptes i slutet av 2015, med fokus på prestandaförbättringar och nya språkfunktioner. Från och med 2021 släpptes PHP 8, som introducerade JIT (Just In Time) kompilering, unionstyper, namngivna argument och attribut, vilket ytterligare cementerade dess relevans inom modern webbutveckling. PHP fortsätter att vara en betydande aktör i landskapet av programmeringsspråk, med ett stort ekosystem av ramverk, bibliotek och gemenskapsresurser.
I PHP deklareras variabler med ett dollartecken ($
) före variabelnamnet.
$greeting = "Hej, Världen!";
PHP stöder både indexerade och associativa arrayer, som kan hålla flera värden.
$fruits = array("äpple", "banan", "apelsin");
$associativeArray = array("namn" => "John", "ålder" => 30);
Funktioner i PHP kan definieras med nyckelordet function
, vilket möjliggör kodåteranvändning.
function add($a, $b) {
return $a + $b;
}
PHP har typiska kontrollstrukturer som if
, else
och switch
för villkorlig logik.
if ($age >= 18) {
echo "Vuxen";
} else {
echo "Minderårig";
}
PHP stöder olika loopar, inklusive for
, while
och foreach
.
foreach ($fruits as $fruit) {
echo $fruit;
}
PHP stöder OOP-koncept, inklusive klasser och objekt.
class Car {
public $color;
function __construct($color) {
$this->color = $color;
}
}
$myCar = new Car("blå");
PHP tillhandahåller felhantering med hjälp av undantag med try
, catch
och finally
.
try {
throw new Exception("Ett fel inträffade");
} catch (Exception $e) {
echo $e->getMessage();
}
PHP tillåter inkludering av filer för modulär programmering.
include 'header.php';
PHP tillhandahåller flera inbyggda variabler som kallas superglobala, som är tillgängliga från alla omfång.
echo $_POST['username'];
Från och med PHP 7 kan typdeklarationer användas för att säkerställa typ-säkerhet.
function sum(int $a, int $b): int {
return $a + $b;
}
Vanliga integrerade utvecklingsmiljöer (IDE:er) för PHP inkluderar PhpStorm, Visual Studio Code, NetBeans och Eclipse PDT. Var och en erbjuder robusta verktyg för felsökning, kodkomplettering och projektledning.
PHP är främst tolkat och förlitar sig på Zend Engine för bearbetning av PHP-skript. Det kan köras i en servermiljö med programvarustackar som XAMPP eller LAMP.
Typiskt är PHP-projekt strukturerade i kataloger som innehåller källfiler, konfigurationsfiler och beroenden. Composer är den beroendehanterare som vanligtvis används för PHP-applikationer, vilket förenklar paketadministration och autoloading.
PHP används främst för server-side skriptning, men dess tillämpningar sträcker sig till:
När man jämför med språk som JavaScript, Python och Ruby förblir PHP ett populärt val för webbutveckling på server-sidan tack vare sina omfattande bibliotek och ramverk. Men medan PHP är specifikt utformat för webbapplikationer, används språk som Python och Ruby ofta för mer allmänna programmeringsuppgifter.
Käll-till-käll översättning, eller transpilation, innebär att konvertera kod från ett programmeringsspråk till ett annat. Flera verktyg finns för PHP: