Magic String

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Der Begriff Magic String (englisch für magische Zeichenkette) meint Stringliterale im Code, mit denen ein bestimmter Effekt erreicht werden kann, vorausgesetzt man kennt den Wert. Zudem weiß man nie, ob zwei gleiche Strings an unterschiedlichen Stellen auch dasselbe meinen. Besser ist es, Konstanten zu definieren, denen man einen sprechenden Namen geben kann. Wenn zwei gleiche Strings für unterschiedliche Dinge stehen, kann man das anhand zweier Konstanten sehen. Und falls man einen String ändern muss, ändert man den Wert der Konstanten, statt dass man mit Suchen und Ersetzen auch alle anders gemeinten Bedeutungen ersetzt.

Beispiel
$db = mysqli_connect("127.0.0.1", "test", "test", "test");
In diesem Beispiel gibt es neben der IP-Adresse dreimal den Wert test als Magic String. Die Bedeutung ist immer eine andere. Man kann sie nicht aus dem Wert entnehmen. Man muss anhand der Dokumentation der Funktion herausfinden, wofür welcher Wert steht.


Mit Konstanten statt Stringliteralen wird es eindeutig:
define('HOST', '127.0.0.1');
define('USERNAME', 'test');
define('PASSWORD', 'test');
define('DATABASE', 'test');
 
$db = mysqli_connect(HOST, USERNAME, PASSWORD, DATABASE);

Siehe auch