Das mit dem SQL-Objekt war nur ein Beispiel. ;-)

Zitat Zitat von drunken monkey Beitrag anzeigen
include()/require(), bzw. ~_once().
Genau das möchte ich nicht.

Zu $user: Alles was mit Benutzern zu tun hat geschieht über dieses Objekt.

Zu Secure: Wäre unnötig wenn nur mysql_real_escape_string() eingesetzt würde. Unter anderem wird überprüft ob magic_quotes aktiv ist und schreibt veränderte Variablen in den Ausgangszustand um. Passwörter usw. werden auch über diese Klasse verschlüsselt. (Ja, man könnte auch md5() verwenden, aber ich verwende einen Salt und falls ich die Verschlüsselungsart ändern wollte, müsste ich diese nur einmal in dem Objekt ändern.)

Zitat Zitat von Jesus_666 Beitrag anzeigen
PHP-Code:
$db = new Database();

class 
User
{
  public function 
foo()
  {
    global 
$db;
    ... 
Das wäre mal die ganz stumpfe Methode. Du könntest alternativ einen Singleton implementieren; das wäre die saubere Variante. Ein Singleton ist iene Klasse, von der es grundsätzlich nur eine Instanz geben kann. Das erreichst du, indem du den Konstruktor privat machst und die Instanzierung über eine statische Funktion machst, die eine neue Instanz zurückgibt, falls noch keine existiert, oder die bereits bestehende, wenn's schon eine gibt. Damit die Klasse weiß, ob sie schon existiert, bekommt sie eine entsprechende Klassenvariable.
Scheinbar so stumpf, das mir die Idee erst gar nicht kam.

Das Singleton werde ich mir näher anschauen. Danke!