Quakenet/#php Tutorial

Hinweis: Wenn sie diese Seite von einer externen URL aufgerufen haben achten sie darauf das alle Kapitel aufeinander aufbauen. Stellen sie daher sicher dass sie alle vorherigen Kapitel gelesen haben, da sie sonst relevante Informationen übersehen.

Konstanten

  1. Konstanten
  2. Definieren und Auslesen von Konstanten
  3. Verwendung von Konstanten

1. Konstanten

Konstanten können wie Variablen Werte enthalten, die aber nicht mehr geändert werden können (daher auch der Name). Des Weiteren können Konstanten nicht jeden Typ von Wert enthalten wie es bei Variablen möglich ist. So können Konstanten nur Skalare Werte sowie den speziellen Datentyp NULL enthalten. Im Gegensatz zu Variablen sind Konstanten jedoch im ganzen Skript verfügbar. Dies schließt auch Funktionsrümpfe mit ein obwohl eine Konstante nicht dort definiert wurde. Konstanten werden z.B. häufig für Einstellungen gesetzt, aber auch für spezielle Parameterwerte für Funktionen wie z.B. bei error_reporting.

2. Definieren und Auslesen von Konstanten

Konstanten werden in PHP mit der Funktion define erzeugt. Der erste Parameter ist dabei der Name der neuen Konstante, der zweite Parameter der Wert für diese Konstante.

<?php
define
('SITE_NAME''Meine Tolle Homepage');
?>

Konstanten unterliegen den selben Namenskriterien wie Variablen (abgesehen vom fehlenden Dollarzeichen $). Sie können somit auch nicht mit Ziffern anfangen. Konstanten werden zusätzlich üblicherweise komplett in Großbuchstaben geschrieben.

Um auf eine Konstante zuzugreifen wird einfach der Name der Konstante verwendet.

<?php
echo SITE_NAME;
// oder auch
echo 'Willkommen auf '.SITE_NAME.'!';
// jedoch nicht
echo 'Willkommen auf SITE_NAME!'// wird die Konstante nicht finden 
?>

3. Verwendung von Konstanten

Konstanten werden in PHP für die bereitgestellten Funktionen als Parameter benutzt die eigentlich eine Zahl erwarten oder als Rückgabewerte verwendet die eigentlich nur Zahlen sind, jedoch sich niemand diese Zahlen merken kann oder will. Diese Konstanten die in PHP vordefiniert sind haben dann verständliche Namen, die dann verwendet werden können. So liefert die Funktion getimagesize einige Informationen über ein Bild zurück. Dazu gehört der Typ des Bildes (PNG, JPEG, GIF, etc.). Diese Information ist in einer Zahl kodiert. So steht z.B. 1 für GIF und 4 für PNG. Um nun den Typ eines Bildes zu prüfen könnten man den Typ gegen diese Zahlen vergleichen.

<?php
if (== $bildtyp) {
} else if (
== $bildtyp) {
}
?>

Damit man nicht immer im Handbuch nachgucken muss was 1 oder 4 bedeutet kann man (und sollte auch) die vordefinierten Konstanten verwenden.

<?php
if (IMAGETYPE_GIF == $bildtyp) {
} else if (
IMAGETYPE_PNG == $bildtyp) {
}
?>

Somit ist für jeden klar was die If-Abfrage überprüft und wann diese ausgeführt wird. Diese Idee wird auch bei Parametern verwenden. Als Beispiel dient hier die error_reporting Funktion, die eine Zahl erwartet. Diese Zahl wird in ihre Bits zerlegt und Anhand dieser Zerlegung entscheidet diese Funktion welche Fehlermeldungen angezeigt werden sollen und welche nicht. Ein gültiger Funktionsaufruf wäre der folgende:

<?php
error_reporting
(8191);
?>

Da jedoch niemand weiß was diese Zahl nun bedeutet verwendet man vordefinierte Konstanten, in diesem Fall die E_* Konstanten. Für den Entwickler ist es nun klarer welchen Wert der Parameter ist bzw. sein soll.

<?php
error_reporting
(E_ALL E_STRICT);
?>

Des Weiteren können sich die Werte der Funktionen ändern. So ist z.B. der Wert E_ALL in der PHP Version 5.2.x 6143, davor jedoch 2047. Somit würde der gleiche Code bei unterschiedlichen PHP-Version vielleicht anders ablaufen. Bei der Verwendung von diesen Konstanten wird automatisch der richtige Wert genommen/errechnet, der für diese PHP-Version grad gültig ist, da die grad laufende PHP-Version selbst weiß welcher Konstante welchen Wert hat.

Fragen zum Kapitel

Keine Fragen zum Kapitel vorhanden

Zurück zu Weiter zu
Copyright © bei den OPs von #php.de/QuakeNet Valid XHTML 1.0 Strict Valid CSS!