PHP 4.3

14.8.3 Funktionsdefinitionen und -aufrufe

Im Gegensatz zu den Konventionen bei Kontrollstrukturen wird bei Funktionsdefinitionen und -aufrufen kein Leerzeichen zwischen den Funktionsnamen und die öffnende Klammer der Parameter-/Argumentenliste gesetzt. Aber auch bei Funktionsdefinitionen gibt es unterschiedliche Konventionen für die Position der öffnenden geschweiften Klammer. Diese Klammer kann, wie in unseren Beispielen, durch ein Leerzeichen getrennt hinter der schließenden runden Klammer der Parameterliste stehen. Eine alternative Konvention sieht vor, die öffnende geschweifte Klammer bündig mit dem Schlüsselwort function allein auf eine neue Zeile zu setzen.

Um den Anfang und das Ende einer Funktion deutlich zu machen, sollte der Anweisungsteil auch bei Funktionen eingerückt werden. Argumente mit Default-Werten werden am Ende der Argumentenliste aufgeführt - das ist jedoch keine Konvention, sondern, wie in der Lerneinheit 8 erwähnt, pure Notwendigkeit. Der Rückgabewert der Funktion sollte eine möglichst große Aussagekraft besitzen.

Als Beispiel für eine Funktionsdefinition, die selbst Funktionsaufrufe enthält, dient hier noch einmal die aus Lerneinheit 10 bekannte Funktion lies_produkte(). Beachten Sie dabei das Fehlen von Leerzeichen hinter Funktionsnamen im Gegensatz zu den Leerzeichen hinter Schlüsselwörtern wie if und for:

function lies_produkte($kat) {
  //Produkte nach Kategorien auslesen
  $fp = @fopen("produkte.txt", "r");
  if ($fp == false) {
    $fehler = "Datei nicht gefunden";
  } else {
    $zeile = read_csv($fp);
    fclose($fp);
    $j = 0;
    for ($i = 0; $i < count($zeile); $i++) {
      if ($zeile[$i][0] >= $kat && $zeile[$i][0] < $kat + 1000) {
        $produkte[$j] = $zeile[$i];
        $j++;
      }
    }
  }
  if ($fehler != "") {
    return $fehler;
  } else {
    return $produkte;
  }
}

Kommentare (0)

Ihr Kommentar

Name