Programmieren mit php und mySQL (Konstante) - Guru 2.0
Programmieren mit php und mySQL (Konstante)

Programmieren mit php und mySQL (Konstante)

Diesmal kommen wir zu einem speziellen “Variablentyp”, den Konstanten. Auch kannst Du einen Vergleich zur Mathematik herstellen. Dort gibt es sie nämlich auch, sie haben nur vordefinierte Namen wie: ? oder ?. Es sind Platzhalter, welche einmal definiert sind, ihren Wert nicht mehr ändern können.

Konstante

Konstante sind in jeder Programmiersprache vorhanden und eine praktische Variante um nicht veränderliche Werte zu transportieren. Eine Konstante hast Du – unwissentlich – schon kennengelernt. Welche? Klar, das kann nur false sein! Du hast ja gelernt, dass false dem integer Wert 0 entspricht. Nun können wir eigene Konstanten definieren. Aber dazu brauchen wir ein paar Regeln.

  • Eine Konstante darf nicht mit $ beginnen.
  • Es dürfen dieselben Zeichen wie bei Variablennamen verwendet werden.
  • Werte an Konstanten werden nicht zugewiesen, sondern mit define() definiert.
  • Konstanten sind global gültig (Über Namensräume wirst Du erst später etwas erfahren).
  • Konstanten können nicht erneut definiert oder gelöscht werden.
  • Konstanten können nur Skalare sein (eindeutige Werte vom Typ boolean, integer, float oder string).

Da auch php bereits einige Konstanten kennt und diese eine (von den Entwicklern) definierte Schreibweise haben, sollten wir uns daran anlehnen.

  • Konstanten beginnen mit mindestens einem Unterstrich: _
  • Konstanten werden nur mit Grossbuchstaben definiert.

DesignTime vs. RunTime

Es wird bald zur festen Regel, dass ich irgendwo im Artikel einen kleinen SideStep mache. Diesmal geht es um die beiden Begriffe in der Überschrift. Denn ein Programmier, sollte prinzipiell wissen was sein Programm macht und in welchem Status es sich befindet.

Während der Entwicklung und der Testphase (auch später im Echtbetrieb) gibt es bei einer Anwendung zwei grundsätzliche Zustände: Die DesignTime (das Programm läuft nicht, sondern wird gerade erstellt/entwickelt) und die RunTime (auch Laufzeit, das Programm wird gerade ausgeführt).

In php ist es so, dass Du dich meistens in der DesignTime befinden wirst. Nämlich dann wenn Du SourcCode in einem Editor erstellst oder hinzufügst. In diesem Status sind die Variablen nicht belegt oder Ausgaben werden nicht durchgeführt. Dafür kannst Du alles definieren was Du willst. Du kannst jede noch so kleine Änderung am Programm durchführen. Während dieser Zeit, spielst Du mit Deinem Kopf Computer. Du lässt das Programm im Geist laufen und merkst Dir welche Variablen wie belegt sind, welche Ein-/Ausgaben erfolgen und welche Interaktionen der potentielle Anwender mit Deiner Applikation durchführen wird.

Die RunTime ist dann, wenn das Programm auf einem webServer ausgeführt wird. Jetzt kannst Du dich (hoffentlich) zurücklehen. Du als Programmier kannst nichts mehr tun. Jetzt sind die Variablen mit Werten belegt, die Ein-/Ausgaben werden von Deiner Anwendung durchgeführt und der Anwender wird (oft unmotiviert und unerwartet) mit der Applikation interagieren. Alle Dinge die hier passieren, hast Du vorausahnen müssen. Wenn etwas zur Laufzeit definiert wird, ist es während der DesignTime unbekannt.

define()

Definiert eine benannte Konstante zur Laufzeit.

Syntax

define($name, $wert, [$GrossKlein = false]);

Parameter

  • $name (string)
    Der Name der Konstanten. Wie oben gezeigt, beispielsweise: _FARBE
  • $wert (mixed)
    Der Wert der Konstanten, beispielsweise: 1 oder blau oder true oder 1.34325
  • $GrossKlein (boolean, optional)
    Dieser Parameter bestimmt ob die Groß-/Kleinschreibung vom php-Interpretet beachtet werden soll. Der Parameter ist optional (kann also weggelassen werden) und ist standardmäßig mit false (= Schreibweise beachten) belegt.

Rückgabewert

Der Rückgabewert ist vom Typ boolean. Er ist true, falls die Definition erfolgreich war. Ist ein Fehler aufgetreten ist der Wert false.

Beispiele

[php light=”true”]<?php
define("_FARBE_1", "blau");
define("_FARBE_2", "rot");

echo "Konstante 1:"._FARBE_1;
?>[/php]

Jetzt stellt sich noch die Frage: Warum soll ich Konstanten verwenden, es geht doch auch mit Variablen? Die Antwort ist hier ein wenig schwierig, zu geben, da dir einfach noch zu viel Hintergrundwissen zur Programmierung fehlt. Aber eine einfache Antwort ist: Dub ist geschützt vor ungewollten Änderungen der Werte.

Für eine andere Antwort muss ich Dir ein Beispiel geben: Stell Dir vor Du willst eine Anwendung, welche mit verschiedenen Sprachen arbeitet, so zu sagen sprachunabhängig ist. Dafür definierst Du dir in einer Datei de.php die deutsche, in en.php die englische und in fr.php die französische Version. In jeder Datei definierst Du die selben Konstanten, gibst aber als Wert immer die Werte in der passenden Sprache an. Während der Programmierung kannst Du jetzt mit den Namen der Konstanten arbeiten. Zur DesignTime bindest du dann die entsprechende Sprachdatei ein um dem Anwender seine Version zu zeigen.

Auch diesmal sparen wir uns (Haus)übungen. Es ist nur wichtig, das Du das Konzept der Konstanten verinnerlichtst. Denn in der Folge dieser Artikelserie werden wir immer öfter auf sie stossen und dann solltest Du sie identifizieren können und bestenfalls auch anwenden.

In eigener Sache

Schreib ruhig, dass Du die Übungen machst und auch wie es Dir dabei geht. Der Kurs kann für Dich ein riesiger Erfolg werden, wenn Du mir eine Rückmeldung gibst. Denn dann kann ich die weiteren Artikel Deinen Wünschen anpassen.
Trotz meiner Vermutung, dass ich es heute nicht schaffe, gibt es trotzdem die Fortsetzung des Kurses. Morgen wirst Du dann etwas über die nächste Gruppe der Schleifen erfahren.

Information

Diese Artikelserie ist mit dem Tag phpMySQL@Kurs versehen. Damit kannst Du schnell alle Teile des Kurses finden: https://www.guru-20.info/tag/phpMySQL@Kurs

Startseite bzw. Inhaltsverzeichnis des Kurses

Blogheim.at Logo
Diese Website verwendet Cookies - nähere Informationen dazu finden Sie in unserer „Datenschutzerklärung“. Klicken Sie auf „Ich stimme zu“, um Cookies zu akzeptieren und unsere Webseite zu besuchen, oder klicken Sie auf „Cookie-Einstellungen“, um Ihre Cookies selbst zu verwalten.