PHP (rekursives Akronym für “PHP: Hypertext Preprocessor”) gehört zu den wichtigsten Sprachen der Webentwicklung. Seine Entwicklung begann als einfaches Werkzeug und mündete in eine ausgereifte, vielseitige Programmiersprache, die heute das Fundament eines großen Teils des Webs bildet.
1994 schrieb Rasmus Lerdorf eine Sammlung von Perl-Skripten, um Besucher seiner persönlichen Homepage zu tracken. Diese Sammlung nannte er “Personal Home Page Tools” (PHP Tools). Da die Nachfrage nach seinen Tools stieg, schrieb Lerdorf seine Tools in C um, um Performance zu verbessern und erweiterte sie um Datenbankfunktionalitäten:
<?
// Früher PHP-Code von ca. 1995
$name = $HTTP_GET_VARS["name"];
echo "Hallo $name!";
?>1997 entwickelten Zeev Suraski und Andi Gutmans den PHP-Parser komplett neu, da sie mit der Vorversion für ein Universitätsprojekt arbeiteten. Diese Neuentwicklung wurde als PHP 3 veröffentlicht und markiert einen Meilenstein in der Geschichte von PHP. Die Sprache bekam damit erstmals eine vollständige Programmiersprachen-Syntax und bessere Erweiterbarkeit.
Im Jahr 2000 erschien PHP 4, das auf der neu entwickelten Zend Engine basierte. Die Zend Engine führte wichtige Konzepte ein:
<?php
// PHP 4 Objektorientierter Code (rudimentär)
class Benutzer {
var $name;
function setName($name) {
$this->name = $name;
}
function getName() {
return $this->name;
}
}
$benutzer = new Benutzer();
$benutzer->setName("Max Mustermann");
echo $benutzer->getName();
?>Mit PHP 5 (2004) wurde die Objektorientierung substanziell verbessert. Die Zend Engine II brachte:
<?php
// PHP 5 objektorientierter Code
class Benutzer {
private $name;
public function __construct($name = '') {
$this->name = $name;
}
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
try {
$benutzer = new Benutzer("Max Mustermann");
echo $benutzer->getName();
} catch (Exception $e) {
echo "Ein Fehler ist aufgetreten: " . $e->getMessage();
}
?>2015 brachte PHP 7 einen Quantensprung in Sachen Performance:
??)<=>)<?php
// PHP 7 Code mit Typdeklarationen
declare(strict_types=1);
function addiere(int $a, int $b): int {
return $a + $b;
}
// Null Coalescing Operator
$username = $_GET['user'] ?? 'Gast';
// Spaceship Operator
$vergleich = 5 <=> 10; // -1, weil 5 < 10
?>Die PHP 8 Serie (ab 2020) brachte zahlreiche Neuerungen, die PHP zu einer modernen Sprache machten:
?->)<?php
// PHP 8 Features
class Benutzer {
// Constructor Property Promotion
public function __construct(
private string $name,
private ?string $email = null, // Nullable Type
private readonly int $id = 0 // Readonly Property
) {}
// Named arguments können so aufgerufen werden:
// new Benutzer(name: "Max", email: "max@example.com");
// Return type mit Union Type
public function getNameOrId(): string|int {
return $this->name ?: $this->id;
}
// Match expression
public function getRolle(int $level): string {
return match($level) {
1 => "Benutzer",
2 => "Moderator",
3, 4 => "Administrator",
default => "Gast"
};
}
}
// Nullsafe Operator
$nameLength = $user?->getName()?->length;
// Enum (PHP 8.1)
enum Status: string {
case AKTIV = 'aktiv';
case INAKTIV = 'inaktiv';
case GESPERRT = 'gesperrt';
}
?>Eine wichtige Entwicklung für das PHP-Ökosystem war die Gründung der PHP Framework Interop Group (PHP-FIG) im Jahr 2009. Die Gruppe hat eine Reihe von PHP Standard Recommendations (PSRs) veröffentlicht, die zur Standardisierung von Codeformaten, Autoloading und Interfaces beigetragen haben.
PHP war und ist weiterhin eine der dominierenden Serverseitigen Sprachen im Web: - Über 75% aller Websites mit bekanntem Serversystem verwenden PHP - Die meisten großen Content-Management-Systeme (WordPress, Drupal, Joomla, Typo3) basieren auf PHP - Moderne Frameworks wie Laravel, Symfony und Laminas machen PHP zu einer soliden Wahl für professionelle Webentwicklung
Durch die starke Entwicklung in den letzten Jahren hat PHP viele der Vorurteile, mit denen die Sprache früher zu kämpfen hatte, hinter sich gelassen und sich zu einer modernen, leistungsfähigen Programmiersprache entwickelt.
In den folgenden Kapiteln werden wir uns mit der Installation und Konfiguration von PHP beschäftigen und einen tieferen Einblick in die Syntax und die Sprachkonstrukte geben, die PHP zu einer der flexibelsten Programmiersprachen für die Webentwicklung machen.