Marko: Funktionen und Rückgabe von Variablen

Beitrag lesen

Hallo Jens,

es geht wenn Du die Variablen mit global deklarierst, Du musst in PHP dann allerdings in jeder Funktion am Anfang wieder global + variablennamen deklarieren.
Allerdings, wie Du schon gesagt hast ist der Sinn einer Funktion genau einen Wert zurückzugeben, und es ist sehr, sehr schlechter Stil mit globalen Variablen zu arbeiten (nicht weitersagen, ich mach das auch manchmal, gibt aber auf Dauer Chaos).
Bedeutend Sauberer wäre es, wenn Du eine Klasse Date erzeugst:

class Date
{
  Var $tag;    /* Attribute (Variablen) dieser Klasse */
  Var $mon;
  Var $jahr;
  Var $datum;

Date($date) /* Konstruktor der Klasse */
  {
    $tag = substr($date,8,2);
    $mon = substr($date,5,2);    
    $jahr = substr($date,0,4);
    $datum = $tag.'.'.$mon.'.'.$jahr;
  }

function NextDay()  /* Beispiel für eine weitere Methode (Funktion) dieser Klasse */
  {
    return $tag + 1;  /* Berechnung ist falsch, ist nur ein Beispiel */
  }
}

Du legst Dann irgendwo ein Instanz (ein Objekt) von der Klasse an:

aktuell = new Date("04.08.2000");

Und kannst nun auf die einzelnen Attribute (Variablen) der Klasse zugreifen mit:

$heute = $aktuell->tag;

Ich hab den Code nicht getestet, und bin mir über die Syntax nicht ganz sicher, aber Du kannst ja noch mal RTFM (read the fucking manual) machen. Mit dem Hintergrund müsste es verständlich sein.

Gruss

Marko