Download 2 Erweiterte Syntax
Transcript
Definition von Konstanten
Dieser Programmabschnitt liest einen Bezeichner aus einer Eingabedatei und
entscheidet dann, wie er auf diesen Bezeichner reagiert. Der Bezeichner gibt
an, ob es sich bei den folgenden Daten um ein GIF-Bild, ein PNG-Bild oder ein
ZIP-Archiv handelt. Er könnte folgendermaßen aussehen:
GIF-Bild
»GIF_IMG«
PNG-Bild
»PNG_IMG«
ZIP-Archiv »ZIP_ARC«
Diese Bezeichner würden in einer include-Datei folgendermaßen definiert
werden:
define("FT_GIF_IMAGE", "GIF_IMG");
define("FT_PNG_IMAGE", "PNG_IMG");
define("FT_ZIP_ARCHIVE", "ZIP_ARC");
Diese Einrichtung hat den Vorteil, dass Sie alle Bezeichner an einer zentralen
Stelle sammeln können. Wenn Sie einen Bezeichner ändern müssen, brauchen
Sie nur seine Definition ändern. Andernfalls müssten Sie den gesamten Programmcode durchsuchen und jede dieser Zeichenfolgen manuell ersetzen.
Mithilfe definierter Werte lässt sich diese Arbeit auf eine einzelne Programmzeile reduzieren.
Die Namen der definierten Werte sollten stets in Großbuchstaben geschrieben
werden, um sie als solche zu kennzeichnen. In einigen Fällen, wie bei Bibliotheksfunktionen, sollte ihnen außerdem ein Präfix vorangestellt sein. Im vorangegangenen Beispiel haben die Bezeichner das Präfix »FT_« für »file-type«
(Dateityp).
Versuchen Sie, definierte Werte so häufig wie möglich einzusetzen. Wenn Sie
auf eine Situation treffen, in der Sie normalerweise einen Wert in Ihr Programm fest eingeben würden, sollten Sie bedenken, dass die Eingabe von
fixen Werten unvorteilhaft ist. Betriebssysteme oder ähnliche maschinencodeorientierte Programme haben häufig die längsten Definitionslisten, denn um
sie portabel zu gestalten, muss jede Kleinigkeit abstrahiert werden. Sie können keine Annahmen über die Byte-Größe, die Wortlänge oder die Registergröße machen; im Prinzip muss alles, was Sie sehen, auf irgendeine Weise
abstrahiert werden. Da PHP per se portierbar ist, bedeutet dies, dass es an
keine bestimmte Hardware oder andere Umgebungskonfigurationen gebunden ist (sein Interpreter ändert die Umgebung nicht, wie auch immer das
zugrunde liegende Betriebssystem aussehen mag). Daher brauchen Sie mit
Definitionen in PHP nicht übertreiben. Aber ein gutes Maß zeugt von guten
Programmierstil.
65