dedlfix: Connection-Handle global verwenden

Beitrag lesen

echo $begrüßung;

funktion dbConnection() {

static $conn = null;

Das ist eine wunderschöne Methode, nur eine einzige Datenbank-Verbindung zu erstellen und damit Rechenzeit und Speicher zu sparen, nur leider geht das erst ab PHP 5, weil PHP 4 keine statischen Klasseneigenschaften kennt.

Du irrst hier ein wenig. Selbst wenn diese Funktion Bestandteil einer Klasse wäre, ist $conn nur eine lokale aber statische Variable, keine Klassenvariable. [link:http://de.php.net/manual/en/language.variables.scope.php#language.variables.scope.static@title=Statische Variablen in Funktionen] (und Methoden) gab es bereits in PHP 4. Als Klassenvariable hätte sie in einer Klasse, aber außerhalb einer Methode deklariert werden müssen. Beides im Beispiel:

[code lang=php]class Test {

static $baz;  // statische Klassenvariable, ab PHP 5 verwendbar

function foo() {
    static $bar; // lokale statische Variable, bereits in PHP4 verwendbar
    ...
  }
}

  
  
echo "$verabschiedung $name";