Author: Progman, zuletzt bearbeitet von progman @ 2004/02/28 13:37:51
Bitte beachten Sie, dass die Tutorialkapitel zusammenhängen. Wenn sie direkt auf ein Kapitel verlinkt wurden müssen Sie gegebenenfalls die vorherigen Kapitel auch lesen. Achten Sie beim lesen darauf, dass Sie kein Kapitel überspringen.
Konstanten
1. Was sind Konstanten?
Konstanten in PHP können bestimmte Werte in einem Programm enthalten die nicht bearbeitet werden können. Meist arbeitet man in PHP mit den von PHP definierten Konstanten, es besteht jedoch auch die Möglichkeit selbst welche zu erstellen. Der Wert einer Variable kann sich beliebig ändern, der Wert einer Konstante hingegen nicht.
2. Erstellen und Ausgeben von Konstanten
Um Konstanten zu erstellen, benutzt man die Funktion define. Der 1. Parameter dieser Funktion ist der Name der Konstante, der 2. Parameter ist der Wert der Konstante. Dieser Wert kann nur bool, int, float oder String sein. Ein Array als Wert ist hier nicht möglich.
<?php
define('CONSTANT', 4);
echo CONSTANT; // gibt 4 aus
?>
Der Name einer Konstante wird üblicherweise groß geschrieben, damit man ihn nicht mit Variablen oder anderen Sachen verwechselt. Hier wurde eine neue Konstante CONSTANT erstellt, welche den Integer-Wert 4 hat. Dieser Wert kann nicht mehr bearbeitet werden.
3. Warum Konstanten?
Da fragt man sich doch warum es Konstanten gibt. Es sind ja schliesslich sowas wie Variablen, die nicht bearbeitet werden können.
Doch bestimmte PHP-Funktionen benutzten Konstanten bzw. an manchen Funktionen ist es sinnvoll Konstanten zu benutzten. Dies ist z.B. bei der Funktion error_reporting der Fall. Dieser Funktion müssen wir eigentlich eine Integer Zahl übergeben (siehe Manual). Anhand dieser Zahl, z.B. 1035, setzt diese Funktion das Error-Reporting für dieses Script um. Doch mit der Zahl 1035 kann der Programmierer nix anfangen. Er müsste immer im Manual nachschlagen, wofür diese 1035 steht. Deswegen gibt es Konstanten. Ein Beispiel ist dafür die Konstante E_ALL, sie hat den Integer-Wert 2047. Für den Programmierer ist es einfacher error_reporting(E_ALL); aufzurufen anstelle von error_reporting(2047);.
Konstanten bieten sich im Script für Dinge an, die sich eh nicht verändern sollen, z.B. eure mySQL Login Daten, diese können in einer eigenen Datei config.php gesetzt werden, die dann in das eigentliche Hauptscript included wird. Konstanten haben den Vorteil, dass sie auch in Funktionen verfügbar sind. Demnach muss man also nicht erst global $mysqluser, $mysqlpass, $mysqlhost; oder andere Tricks machen um die Werte in der Funktion zu haben. Dies kommt jedoch erst später in diesem Tutorial und sei nur der Vollständigkeit halber erwähnt. Wenn es dann soweit ist, wird es euch nochmal genauer erklärt.
Fragen zum aktuellen Thema
- Wie werden Konstanten erstellt?
-
Man erstellt Konstanten mit der Funktion define Dabei ist der 1. Parameter der Name (in Großbuchstaben) und der 2. Parameter ist der Wert der Konstante.