Willkommen in der Webstatt Zum Webstatt Blog und Stories
Al3x0r Al3x0r am 30.04.07 16: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...

netcup.de Warum gibt es hier Werbung?
Rebel4s Rebel4s am 30.04.07 17:00

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

der_nic der_nic am 30.04.07 17:02

@Rebel4s: Nein, denn $render ist ja protected.
@Al3x0r: Probier mal zuerst ein Object von der Klasse zu erstellen:
$obj = new F();
...

Al3x0r Al3x0r am 30.04.07 17: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

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt