Hauptmenü

Untermenü

PHP - Grundlagen - Variablen - Konstanten

1. Einführung

Konstanten stellen eine ganz spezielle Form von Variablen dar und unterscheiden sich von denen durch folgende Eigenschaften.

2. Schreibweise

Eine Gemeinsamkeit haben die Konstanten mit den Variablen. Es gelten dieselben Regeln bei der Schreibweise, das $-Zeichen klammern wir mal aus. Erlaubt sind alle Buchstaben von A-Z, Zahlen sowie der Unterstrich und alles aus dem erweiterten ACSII-Satz. Das erste Zeichen muss ein Buchstabe oder der Unterstrich sein. Es hat sich eingebürgert, Konstanten immer groß zu schreiben. Wenn ihr das nicht wollt, so achtet auf die Groß- und Kleinschreibung.

3. Definition und Zuweisung

Wie schon beschrieben, werden Konstanten mit dem Befehl define erzeugt. Der erste Parameter legt den Namen fest, der in Hochkommata oder Anführungszeichen eingeschlossen sein muss. Der zweite Wert liefert den Inhalt. Bei der Zuweisung des Wertes gelten dieselben Regeln wie bei Variablen.


<?php
  define("KONSTANTE"'Hallöle');
  echo KONSTANTE;

  define('CONST_WERT'20);
  echo CONST_WERT;

  define("BOOL"TRUE);
  echo BOOL;
?>

4. Einsatzmöglichkeiten

Nun werdet ihr euch sicher fragen, wozu man solche Konstanten überhaupt gebrauchen kann. Sie müssen extra definiert werden, sie können nicht geändert werden und alles in allem scheint es, dass die Arbeit mit Konstanten sehr unflexibel ist. Ich will euch die Vorteile mal an einem Beispiel erläutern.

"Das Schwierigste am Programmieren ist, sich ständig vernünftige Namen für Variablen einfallen zu lassen." [Quelle: Ich in einem Beitrag im Forum von PHP-Resource]

Aus dem obigen Zitat könnt ihr vielleicht schon erahnen, wieso man Konstanten einsetzt. Nehmt mal an, wir programmieren einen Online-Shop, wo die Mehrwertsteuer zusätzlich zum Preis aufgeschlagen wird. Dafür haben wir dann zwei Variablen, $preis und $mwst. Daraus ergibt sich dann der Gesamtpreis.


<?php
  // Irgendwo im Code
  $mwst 0.19;

  // Woanders im Code
  $preis 24.5;
  $gesamt $preis + ($preis $mwst);
?>

Was aber, wenn wir irgendwo in unseren 5.000 Zeilen aus Versehen den ursprünglichen Wert der Variable $mwst mit etwas anderem überschrieben haben, also zum Beispiel in Zeile 581 der Datei xyz.php $mwst = $irgendeine_zahl? Genau, dann haben wir ein Problem. Also legen wir die Mehrwertsteuer nicht in einer Variable fest, sondern in einer Konstanten, dann kann uns so was nicht passieren.


<?php
  // Irgendwo im Code
  define ('MWST'0.19);

  // Woanders im Code
  $preis 24.5;
  $gesamt $preis + ($preis MWST);
?>

Wenn man zum Beispiel nur mit einer Datenbank arbeitet, so empfiehlt es sich, bei den Zugangsdaten ebenfalls mit Konstanten zu arbeiten.

5. Ganz wichtig

Wenn ihr bei einer Zeichenkette die Anführungszeichen aus Versehen weglasst und die nicht mit einer Zahl beginnt, so wird sie von PHP automatisch als Konstante angesehen. Und der Wert entspricht dann dem Namen. Probiert es mal mit einem simplen echo blabla; aus.

6. Vorgegebene Konstanten

Davon gibt es einfach gesagt zwei unterschiedliche. Da hätten wir zunächst die magischen Konstanten. Da ich mit denen bisher eher wenig zu tun hatte, verweise ich nur auf den Link. Daneben sind auch noch die Konstanten für das so genannte error_reporting interessant. Deren Wirkungsweise habe ich in einen ausführlichen Tutorial erläutert. Schaut euch das auf jeden Fall an.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt