Dynamisch auf Konstante define() zugreifen

deb_ugger

Erfahrenes Mitglied
Hallo,

ich hab folgendes Problem: Ich habe, um Mehrsprachigkeit zu unterstützen, meine Texte mit Konstanten angelegt, also z.B.

PHP:
define("lang_label_nickname","Anzeigename");

Ich habe in den Konstanten auch Texte für unterschiedliche Statusinformationen angegeben, z.B.

PHP:
define("lang_activity_text_1","Schaut ab und zu mal vorbei");
define("lang_activity_text_2","Kennt sich aus");
define("lang_activity_text_3","Ist öfters hier");
define("lang_activity_text_4","Stammgast");
define("lang_activity_text_5","Inventar");

Über meine DB lese ich nun den Status aus (1,2,3,4 oder 5) und möchte abhängig davon die entsprechende Konstante ausgeben.

Mit Variablen würde das ja so gehen:
PHP:
$var = "lang_activity_text_".$status;
echo $$var;

Geht das aber mit Konstanten auch? Habs nämlich nicht geschafft.

Danke für die Hilfe!

Grüßle
 
Konstanten sind Statische werte. Mit anderen Worten gesagt wird die Konstante einmal belegt mit einen Wert behält sich auch den Wert gleichbleiben bis zum ende des Scriptes.

Daher kannst du eine Konstanste nur einmal während eines Script durchlauf belegen.
Erst wenn du eine neues Script startet und die alten sachen nicht mehr bekannt sind kanst du wieder Konstanten mit anderen Wert belegen.

Das Heißt arbeitest du mit include dann bleibt der erste Konstaten wert immer erhalten bis zur letzen includierten datei hindurch.

Mfg Splasch
 
Zurück