PHP - Grundlagen - Variablen - Konstanten
1. Einführung
Konstanten stellen eine ganz spezielle Form von Variablen dar und unterscheiden sich von denen durch folgende Eigenschaften.
- Konstanten beginnen NICHT mit einem $-Zeichen.
- Konstanten müssen mit dem Befehl
define
definiert werden. - Bei der Definition muss direkt ein Wert zugewiesen werden.
- Konstanten können nicht gelöscht werden.
- Der Wert einer Konstante kann nicht geändert werden.
- Konstanten sind globale Variablen, auf ihren Inhalt kann man immer und überall zugreifen. Zu einer Ausnahme komme ich später.
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