Funktionen in PHP

PHP-Anwendungen nehmen zum Teil sehr große Ausmaße an, z.T. macht das Zusammenspiel von Hunderten Seiten eine PHP-Anwendung aus. Hierbei passiert es häufig, dass man bestimmte Codezeilen an verschiedenen Stellen verwendet. Das können z.B. Berechnungen sein, wo der Rechenweg derselbe ist. Ein typisches Beispiel hierfür ist die Berechnung Mehrwertsteuer.

Wenn man einen Code mehrfach verwendet, dann bedeutet das einen hohen Aufwand bei der Erstellung und bei Aktualisierungen. Angenommen, man hat einen bestimmten Code 20x verwendet. Wenn der Code verändert werden soll, muss der Code an 20 Stellen verändert werden. Neben dem erhöhten Aufwand können sich hier leicht Fehler einschleichen.

Damit man einen mehrfach verwendeten Code nur 1x schreiben muss, kann man in PHP Funktionen erstellen. Eine Funktion kann an verschiedenen Stellen einer Anwendung aufgerufen werden. Falls der Code irgendwann verändert werden muss, so muss man nur die Funktion bearbeiten und nicht überall an den Stellen, an denen er aufgerufen wird. Das vereinfacht die Arbeit enorm.

Ist eine Funktion einmal erstellt, ist die funktionsweise eigentlich sehr einfach. Die Funktion kann aufgerufen werden. Dabei können auch Werte als Parameter übergeben werden. Angenommen, man hat eine Funktion zum Addieren von zwei Zahlen erstellt. Man kann die Funktion aufrufen und dabei zwei Zahlen übergeben. Die Funktion wird daraufhin ausgeführt und liefert das Ergebnis der Addition, das weiter verarbeitet werden kann. Nach diesem Prinzip kann die Funktion mehrfach verwendet werden.

Prinzip einer PHP-Funktion

Aufbau einer PHP-Funktion

Auf der folgenden Abbildung ist anhand eines Beispiels der Aufbau einer Funktion zu sehen. Mit dem Begriff function wird diese deklariert. Danach wird der Name der Funktion (ohne $) eingegeben, in diesem Beispiel heißt die Funktion addieren. Innerhalb der runden Klammern kann man kommagetrennt optionale Parameter angeben, die man beim Aufruf an die Funktion übergeben kann. In diesem Beispiel sind das $wert1 und $wert2. Innerhalb der geschweiften Klammern wird der Code angegeben, der beim Aufruf ausgeführt werden soll. In diesem Beispiel werden die beiden Werte addiert und das Ergebnis wird ausgegeben.

Aufbau einer PHP-Funktion

Aufruf einer Funktion

Mit dem Deklarieren einer Funktion passiert noch nichts. Diese muss aufgerufen werden, damit der Programmcode ausgeführt wird. Für den Aufruf genügt der Funktionsname mit den optionalen Parametern innerhalb der runden Klammern sowie einem Semikolon. Beim folgenden Beispielcode wird die Funktion addieren mit den beiden Zahlen 3 und 2 aufgerufen.

<?php

// Funktion deklarieren
function addieren ($wert1, $wert2)
{
  echo $wert1 + $wert2;
}

// Aufruf der Funktion
addieren (3, 2);

?>

Der echo-Befehl wurde beim Aufruf nicht angegeben, da dieser bereits in der Funktion enthalten ist. Wenn man den echo-Befehl nicht in der Funktion angeben möchte, sodass man beim Aufruf der Funktion eine Wahlmöglichkeit hat, was man mit dem Ergebnis macht, muss man die Funktion so gestalten, dass beim Aufruf ein Rückgabewert mit return übergeben wird. Beim folgenden Code wird nichts ausgegeben, da der Rückgabewert nicht angegeben wurde.

<?php

function addieren ($wert1, $wert2)
{
  $ergebnis = $wert1 + $wert2;
}

// Funktioniert nicht
echo addieren (3, 2);

// Funktioniert auch nicht
addieren (3, 2);
echo $ergebnis;

?>

Der Grund für das Verhalten ist, dass Variablen innerhalb einer Funktion außerhalb nicht verfügbar sind umgekehrt. Es gibt aber die Möglichkeit, globale Variablen zu definieren und zu verarbeiten.