Webstatt.org - Community seit 2006 - 2012 (2024?)

Factoryclass-Problem

Avatar user-118
30.04.2007 14:37

Moin,

Ich habe mir folgendes aus dem Managerklasse-Thread zusammengebastelt:

class F {

protected static $db;
protected static $render;

public function __construct() {
self::$db = new MySQL();
self::$render = new Render();
}

public static function GetDB() {
return self::$db;
}
public static function GetRender() {
return self::$render;
}
}


die Klasse F wird mit der Klasse MySQL und Render in die index.php includiert.

dann rufe ich new F(); in der index.php auf und will so:

F::GetRender()->header();

auf die Methode header() in der Klasse Render zugreifen.
Das produziert jedoch einen Fehler:

Fatal error: Call to a member function header() on a non-object in C:\Programme\xampp\htdocs\webdesign\pictureparade\backend\index.php on line 8

Was habe ich falsch gemacht ?

mfg Alex

edit:// Fehler im Konstrukor verbessert...

Ich brauche keine Signatur
Avatar user-287
30.04.2007 15:00

geht: F::render->header(); ??

Avatar user-162
30.04.2007 15:02

@Rebel4s: Nein, denn $render ist ja protected.
@Al3x0r: Probier mal zuerst ein Object von der Klasse zu erstellen:

$obj = new F();
...

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-118
30.04.2007 15:05

Das funktioniert und ich kann auch auf die Methoden in F zugreifen nur nicht auf die Methoden, der in F geladenen Klassen.

Ich habe grade festgestellt, dass aus irgendwelchen Gründen der Konstruktur von F nicht aufgerufen wird, denn self::$db = new MySQL(); müsste einen Error produzieren, denn es fehlen die Parameter für den Konstruktor in der Klasse MySQL


AAHHHH wie peinlich... Fehler gefunden. Ich habe __contruct statt __construct geschrieben

Ich brauche keine Signatur