Kurz: PHP (PHP: Hypertext Preprocessor) ist eine serverseitige Skriptsprache, 1995 von Rasmus Lerdorf begonnen. Der Code läuft auf dem Server; der Browser erhält nur das Ergebnis (meist HTML). Große Teile des Webs laufen auf PHP.
Teil des Kurses PHP
Was ist PHP?
PHP (PHP: Hypertext Preprocessor) ist eine serverseitige Skriptsprache, 1995 von Rasmus Lerdorf begonnen. Der Code läuft auf dem Server; der Browser erhält nur das Ergebnis (meist HTML). Große Teile des Webs laufen auf PHP: WordPress, Wikipedia (MediaWiki), Laravel, Symfony, Shopware.
Stärken: sehr einfacher Einstieg, riesige Webhosting-Verbreitung, ausgereifte Frameworks. Das moderne PHP (ab Version 8) hat ein ordentliches Typsystem, Attribute, Enums und match.
Installation und Ausführen
- Linux/macOS: Paketmanager (
apt install php-cli,brew install php) - Windows: php.net/downloads oder XAMPP
- Prüfen mit
php -v
php hallo.php # Skript ausführen
php -r 'echo 1 + 2;' # einzelne Zeile
php -S localhost:8000 # eingebauter Testserver
php -a # interaktive ShellDas erste Skript
PHP-Code steht zwischen <?php und ?>. Bei reinen PHP-Dateien lässt man das schließende ?> weg. Anweisungen enden mit ;. echo gibt Text aus, Variablen beginnen mit $.
hallo.php
<?php
$name = "Mia";
echo "Hallo $name!\n";
echo 'Einfache Anführungszeichen ersetzen keine Variablen: $name', "\n";
print("print geht auch\n");Ausgabe:
Hallo Mia!
Einfache Anführungszeichen ersetzen keine Variablen: $name
print geht auchPHP und HTML mischen
PHP kann direkt in HTML eingebettet sein (heute meist in Template-Dateien):
seite.php
<?php $titel = "Meine Seite"; $liste = ["Äpfel", "Birnen"]; ?>
<h1><?= htmlspecialchars($titel) ?></h1>
<ul>
<?php foreach ($liste as $eintrag): ?>
<li><?= htmlspecialchars($eintrag) ?></li>
<?php endforeach; ?>
</ul>Ausgabe:
<h1>Meine Seite</h1>
<ul>
<li>Äpfel</li>
<li>Birnen</li>
</ul><?= ... ?> ist die Kurzform für <?php echo ... ?>. Gib Werte in HTML immer mit htmlspecialchars() aus, sonst droht Cross-Site-Scripting (XSS).
Kommentare und Grundregeln
<?php
// Einzeiliger Kommentar
# auch das ist einer
/* Mehrzeilig
Kommentar */
/** Dokumentationskommentar (PHPDoc) */
echo "Groß- und Kleinschreibung: ";
$a = 1; $A = 2; // Variablen: case-sensitiv
ECHO $a + $A, "\n"; // Schlüsselwörter und Funktionen: nicht
echo strlen("Text"), STRLEN("Text"), "\n";Ausgabe:
Groß- und Kleinschreibung: 3
44Ausgabe: echo, print, var_dump
<?php
$zahl = 42; $text = "PHP"; $liste = [1, 2];
echo $zahl, " ", $text, "\n";
print_r($liste);
var_dump($zahl, $text, 3.5, true, null);
echo "Zahl: {$zahl}, Text: ${text}\n";
printf("%05.1f | %-6s| %x\n", 3.14159, "ab", 255);
echo sprintf("%'*10s", "rechts"), "\n";Ausgabe:
42 PHP
Array
(
[0] => 1
[1] => 2
)
int(42)
string(3) "PHP"
float(3.5)
bool(true)
NULL
Zahl: 42, Text: PHP
003.1 | ab | ff
****rechtsvar_dump zeigt Typ und Wert und ist dein wichtigstes Debug-Werkzeug.
Merke
- PHP läuft serverseitig, Code zwischen
<?phpund?> - Variablen beginnen mit
$; Anweisungen enden mit; echo,print,print_r,var_dump,printfzur Ausgabe- Doppelte Anführungszeichen ersetzen Variablen, einfache nicht
- Ausgaben in HTML immer mit
htmlspecialchars()absichern
Übungsaufgabe
Gib Name, Alter und Lieblingssprache in drei Zeilen mit printf aus.
Quiz zur Selbstkontrolle
Womit beginnen Variablennamen in PHP?
- $ (richtig)
- @
- &
Was tut var_dump?
- Zeigt Typ und Wert einer Variablen (richtig)
- Löscht eine Variable
- Sortiert ein Array
- Startet den Server
Wofür steht ?
- Kurzform für echo (richtig)
- Eine Kommentarzeile
- Einen Import
- Eine Funktionsdefinition
Weiter im Kurs
Weiter: Variablen und Datentypen
Alle Kapitel: PHP im Überblick