Kategorien
PHP

PHP Konstanten ändern

Es scheint erst einmal unsinnig zu sein, aber in machen Situationen, z.B: wenn man in ein komplettes SDK Eingreifen will ohne es zu verändern, würde man gern PHP Konstanten ändern.Möglich ist das mit dem PHP-Core nicht, aber es gibt eine PECL Extension namens runkit, damit funktioniert es.

Im folgenden Beispiel habe ich versucht den Wert eine Kosntanten per Referenz anschließend zu ändern, leider (oder Gott sei Dank) hat es ncht geklappt:

$key = 'vorher';
define('KONSTANTE', &$key);
echo KONSTANTE;
$key = "nachher";
echo KONSTANTE;
//Ausgabe:vorher vorher

Das ist auch gut so, weil Konstanten nun mal konstant sein sollen und nicht variabel.

Auch eine nachträgliche Änderung funktioniert natürlich nicht:

$key = 'vorher';
define('KONSTANTE', $key);
echo KONSTANTE;
$key = "nachher";
define('KONSTANTE', $key);
echo KONSTANTE;
//Ausgabe:vorher vorher