:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Klassenkonstanten |
Vor PHP 5 waren Konstanten immer global, was den Einsatz etwas problematisch machte, da Namenskonflikte fast schon vorprogrammiert waren. Da sich Konstanten von Objekt zu Objekt nicht ändern, verhalten sie sich wie statische Mitglieder und werden auch genau wie diese verwendet. Der einzige Unterschied besteht darin, dass sich der Inhalt nicht verändern lässt – außer während der Definition. Diese Definition erfolgt innerhalb der Klasse.
Im Gegensatz zu den globalen Konstanten, die mit der define()-Funktion erzeugt werden, erfolgt die Deklaration in Klassen mit dem Schlüsselwort const.
Der Zugriff auf eine solche Konstante erfolgt über Klassenname::Konstante. Soll der Zugriff auf die Konstante aus einer Methode derselben Klasse erfolgen, so kann auch self::Konstante verwendet werden.
Beispiel – const und static
<?php
class MeineKlasse {
const Konstante = 16;
static $statisch = 1;
function erhoehen() {
return self::$statisch++;
}
}
$a = new MeineKlasse;
$b = new MeineKlasse;
echo "MeineKlasse::Konstante = " . MeineKlasse::Konstante . "<br>";
echo "$a->erhoehen() = " . $a->erhoehen() . "<br>";
echo "$b->erhoehen() = " . $b->erhoehen() . "<br>";
?>
Ausgabe
MeineKlasse::Konstante = 16
$a->erhoehen() = 1
$b->erhoehen() = 2
Beispiel – Physik
<?php
class Physik
{
const ATOM_GEWICHT = 1.00895;
}
echo "Wert: " . Physik::ATOM_GEWICHT;
?>
Ausgabe
Wert: 1.00895
|
|
|
|
|
|