PHP - Grundlagen - Funktionen
1. Einführung
Funktionen sind einfach ausgedrückt, autonome Abschnitte innerhalb des Quellcodes, die explizit an anderer Stelle aufgerufen werden müssen. Sie werden vor allem dann eingesetzt, wenn bestimmte Aufgaben immer wieder ausgeführt werden sollen, aber jedes Mal mit anderen Werten. Ihre Syntax ist sehr einfach:
function Funktionsname (optionale Variablen)
{
Anweisungen
}
2. Funktionsweise
Nehmen wir mal ein einfaches Beispiel für den Einsatz und die Arbeitsweise von Funktionen. Wir haben einen Online-Shop, wo wir den Bruttopreis einer Bestellung ausrechnen wollen. Dazu brauchen wir eine Variable für den Nettopreis und die Menge sowie eine Funktion, die den Bruttopreis zurück liefert.
<?php
function getBrutto ($preis, $menge)
{
$brutto = ($preis + ($preis * 0.19)) * $menge;
return $brutto;
}
?>
Wichtig ist das Wörtchen return, das gibt nämlich das Ergebnis der Berechnung zurück. Und beendet, wie schon bei den
Schleifen gesagt, den folgenden Code. Nun kann die Funktion zum Beispiel so aufgerufen werden.
<?php
$gesamtpreis = getBrutto (25.95, 10);
?>
Ach ja, noch zwei Hinweise zu return. Erstens, man kann nur einen(!) Wert zurückgeben. Sei es ein true/false,
eine Variable oder ein Array. Zwei sind nicht möglich. Warum? Weil jeglicher weiterer Code danach nicht mehr ausgeführt wird. Darum sollte
ein return normalerweise auch immer am Ende eines Funktionsblocks stehen. Es gibt auch andere Möglichkeiten, aber darauf
werde ich später mal in einem kommenden Tutorial eingehen.
Ein Beispiel
Das Prinzip zeige ich euch mal an einem ziemlich sinnfreien Code. Wir durchlaufen in einer Funktion eine Schleife von 0 bis 100. Wenn
der übergebene Parameter mit dem aktuellen Wert übereinstimmt, setzen wir ein return true;.
<?php
function getRandom($value)
{
for ($i = 0; $i < 100; $i++)
{
echo $i.'<br>';
if ($value == $i)
{
return true;
}
}
}
getRandom (12);
?>
Probiert es mal aus. Die Schleife wird nur bis zum Wert 12 ausgeführt und danach inklusive Funktion beendet. Ein zusätzliches
break ist hier also nicht notwendig.
3. Geltungsbereich von Variablen
Bei der Verwendung von Funktionen muss man auf eine Sache besonders achten. Variablen innerhalb einer Funktion können nur
dort genutzt werden, solange man sie nicht als global definiert. Allerdings sollte man damit, wenn irgendwie möglich, nicht
arbeiten. Das lässt auf unsauberen Code schließen.
<?php
// Global im Script verfügbar
$blubb = 'blubber';
// Nur innerhalb der Funktion verfügbar
function machWas()
{
$bla = 'schwall';
}
// Global im Script verfügbar
function machWas()
{
global $bla = 'schwall';
}
// Zugriff auf lokale Variablen innerhalb einer Funktion
function machWas()
{
$bla = 'schwall';
return ($bla);
}
$neu_bla = machWas();
echo $neu_bla;
?>