PHP Variablen verwenden

Alle flüchtigen Daten speicherst Du in PHP Variablen. Sie sind Container für Daten. Das sind zum Beispiel Eingaben in Formularen, die der Webserver an PHP übergibt. Oder Werte, die aus MySQL gelesen werden. Einfach nur ein Wert, den Du Zwischespeichern musst. Und so weiter. Lerne sie hier in PHP zu nutzen.

Variablen deklarieren

In PHP kannst Du Variablen mit einem Dollarzeichen erstellen. Im Beispiel wird gleich ein Wert gesetzt (die Variable initialisiert:

<?php
$myName = "Jan";
?>

Im weiteren Code steht sie nun zur Verfügung. Du kannst diese Variablen zum Beispiel in einem anderen String verwenden:

<?php
$myName = "Jan";
$age = 38;
$greeting = "Hallo, $myName. Du bist $age Jahre alt!";
?>

Probier es mit eigenen Angaben selbst aus.

In PHP Variablen ausgeben

Es gibt zum Ausgeben von Variablen einen eigenen Abschnitt. Aber hier ein erster Überblick, der zeigt wie Du Werte ausgegeben kannst:

<?php
$myName = "Jan";
$age = 38;

echo "Hallo, $myName. Du bist $age Jahre alt!";
?>

Neben echo gibt es noch andere Möglichkeiten. Dazu später mehr.

Regeln, Konventionen und Best-Practices für Variablennamen

Es gibt für Variablennamen ein paar Regeln. Andere Richtlinien sind mehr Konvention und kein direkter Fehler. Sie gelten nur als schlechter Stil. Darum hier nun alle festen Regeln und Best-Practices:

Regeln

  • Variablen beginnen mit einem $, dahinter steht der Name der Variable
  • der Name darf nicht mit einem Ziffer beginnen ($4you geht nicht)
  • Variablennamen beginnen mit Unterstrich oder Buchstaben
  • nur alphanumerische Zeichen sind erlaubt (A-Z, a-z und 0-9 und _)
  • Namen sind case-sensitive (Groß-/Kleinschreibung spielt eine Rolle)

Tipp: Du musst das nicht auswendig lernen. Probier einfach selbst gegen die Regeln oben zu verstoßen. Du merkst sehr schnell was funktioniert.

Best-Practices

  • der Name beschreibt den Inhalt
  • der Name sollte aussprechbar sein
  • vermeide Abkürzungen
  • Variablennamen beginnen immer mit Kleinbuchstaben
  • benutze camelCase oder snake_case (je nach Projekt und Framework)
  • vermeinde Umlaute

Alles sehr theoretisch, aber in der Praxis die Grundlage für sauberen Code.

Datentypen und Typsicherheit

In PHP kann eine Variable unterschiedliche Werte enthalten. Der Datentyp wird nicht wie in Java festgelegt. Er wird dynamisch vergeben. Es gibt wie oben Zeichenketten (Strings). Ebenso gut kann eine Variable aber auch anderen Typen enthalten:

  • Booleans
  • Integers
  • Gleitkommazahlen
  • Strings
  • Arrays
  • Iterables
  • Objekte
  • Ressourcen
  • NULL
  • Callbacks / Callables

Die Typen lernst Du in seperaten Kapiteln kennen. Für den Moment ist wichtig, wie PHP damit umgeht.

Gültigkeitsbereiche von Variablen

Variablen sind nur in bestimmten Bereichen gültig. Das Thema greift zwar vor und Du lernst später noch mehr Details kennen. Es schadet aber nicht Buzzwörter wie Geltungsbereich, Gültigkeitsbereich oder die englische Bezeichnung scope gehört zu haben.

Gemeint ist folgendes:

<?php

// (1) nicht richtig (Variable erst ausgegeben, dann erstellt)
echo $abc;
$abc = 2;

// (2) das geht 
function getSum() {
    $x = 1;
    $y = 2;

    return $x + $y;
}
$sum = getSum();
echo $sum;

// (3) das geht nicht
echo $x;
echo $y;

Bei dem Punkt (1) wird die Variable erst verwendet und dann befüllt. Logisch: das funktioniert nur umgekehrt.

Unter (2) wird eine Funktion getSum definiert. Die arbeitet intern mit Variablen und gibt eine Summe zurück, welche in $sum gespeichert wird. Die Ausgabe per echo funktioniert.

Darin enthaltene Variablen existieren aber in einem eigenen Gültigkeitsbereich. Sie sind außerhalb der Funktion nicht verfügbar. Das Beispiel (3) geht also nicht.

Ein wichtiges Konzept, das auch bei Methoden in der Objektorientierung eine Rolle spielt.

Vermeide das global Keyword

Du wirst irgendwann auf das Keyword global stoßen. Vielleicht in WordPress (großer Anwendungsfall für PHP). Vielleicht in einem Tutorial oder anderen Ressourcen.

Hier ganz klar die Warnung, Bitte, Aufforderung und Anweisung: VERMEIDE globale Variable mit global. Das ist unfassbar unsauber. Nutze Sie einfach nicht.

Fazit

In jeder Programmiersprache sind Variablen unverzichtbar. Du lernst auf dem weiteren Weg noch verschiedene Punkte wie Datentypen, Type-Hints & Co. kennen.

Praxistipp: Schau Dich einfach mal in Projekten um, die Du bereits kennst. Du findest viele offene Projekte auf Github. Siehst Du Besonderheiten im Umgang mit Variablen? Der Vergabe von Namen? Mach Dir Notizen und probier einfach Dinge aus. ABER: immer mit Vorsicht genießen und auf die Best-Practices achten.

Verknüpfte Themen

  • Strings
  • Arrays
  • echo

Weiterführende Links