Hi!
Aber was ist der Unterschied zw. einer Konstante und einer Variable(außer der Schreibweise)?
Wie sich das anhört machen die genau dasselbe, nur ist das mit define(KONSTANTE,"wert") mehr zu schreiben als $variable="wert", oder habe ich Dich da falsch verstanden? Was hat man davon??? Was ist der Unterschied?
Eine "Konstante" ist üblicherweise ... konstant. ;) Soll heißen: Man definiert die _einmal_, und dann nie wieder, und kann sie auch nicht ändern.
Warum macht man sowas? Weil es vielleicht gewisse Werte gibt, die man konstant und unveränderbar (im Programm!) definieren möchte.
Ein Beispiel:
Was ja häufiger vorkommt ist, daß man eine externe Datei in jedem PHP-Skript includet, um z.B. Username und Paßwort für den Datenbankzugang und noch etliche andere Werte zu definieren, beispielsweise, welche Datenbanktabellen abgefragt werden sollen.
Sowas kann man an Variablen zuweisen. Die Gefahr besteht aber, daß man bei unvorsichtiger Auswahl der Variablennamen, entweder in der Konfigurationsdatei oder im jeweiligen Skript, ganz aus Versehen eine Konfigurationsvariable überschreibt und so Mist erhält.
Für sowas wären Konstanten prima. Die werden einmal definiert, sind von den Variablennamen unabhängig und können nicht geändert werden.
Ich habe das persönlich noch nicht so gemacht, werde es aber, da mir die Idee sehr gut gefällt, beim nächsten Mal ganz sicher mit Konstanten versuchen.
- Sven Rautenberg