EMZETT.
Login

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

Kapitel 1 von 15 im Kurs PHP. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

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 Shell

Das 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 auch

PHP 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
44

Ausgabe: 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
****rechts

var_dump zeigt Typ und Wert und ist dein wichtigstes Debug-Werkzeug.

Merke

  • PHP läuft serverseitig, Code zwischen <?php und ?>
  • Variablen beginnen mit $; Anweisungen enden mit ;
  • echo, print, print_r, var_dump, printf zur 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

Weiter im Kurs

Weiter: Variablen und Datentypen

Alle Kapitel: PHP im Überblick