Hallo zusammen,
nach langem mitlesen in diesem Forum fange ich jetzt auch mal an selbst was zu schreiben.
Ist mir fast schon peinlich (da ich wahrscheinlich nur irgend eine Kleinigkeit übersehe), aber ich finde einfach den Fehler nicht. Und zwar schreibe ich z.Zt. an einem eigenen kleinen Framework und baue mir gerade einen ErrorHandler. Da es nur einen ErrorHandler gibt erbt dieser von der Klasse Singleton. Beim Erzeugen der ErrorHandler Instanz sollte eigentlich auch dessen __construct aufgerufen werden, es wird aber nur der __construct des parents (Singleton) aufgerufen (habe ihn nur testweise implementiert, eigentlich hat der Singleton keinen __construct).
Kann mir jemand verraten wo mein Fehler liegt?
Aufruf über:
Ausgabe:
Erwartete Ausgabe:
Normalerweise muss ich doch parent::__construct aufrufen damit das passiert... oder ist das hier irgendwie anders weil ich den __construct aus dem parent heraus aufrufe? Würde mich irgendwie wundern...
Ich hoffe ich konnte mein Problem verständlich rüber bringen und irgend jemand kennt auch noch die Lösung dafür
Gruß
mero
nach langem mitlesen in diesem Forum fange ich jetzt auch mal an selbst was zu schreiben.
Ist mir fast schon peinlich (da ich wahrscheinlich nur irgend eine Kleinigkeit übersehe), aber ich finde einfach den Fehler nicht. Und zwar schreibe ich z.Zt. an einem eigenen kleinen Framework und baue mir gerade einen ErrorHandler. Da es nur einen ErrorHandler gibt erbt dieser von der Klasse Singleton. Beim Erzeugen der ErrorHandler Instanz sollte eigentlich auch dessen __construct aufgerufen werden, es wird aber nur der __construct des parents (Singleton) aufgerufen (habe ihn nur testweise implementiert, eigentlich hat der Singleton keinen __construct).
Kann mir jemand verraten wo mein Fehler liegt?
PHP-Code:
class dfSingleton
{
static protected $_instance = null;
static public function create()
{
if (self::$_instance === null) {
self::$_instance = new self;
}
return self::$_instance;
}
public function __construct()
{
echo 'Singleton __construct<br>';
}
}
PHP-Code:
class dfErrorHandler extends dfSingleton
{
public function __construct()
{
echo 'error handler construct<br>';
$this->_registerErrorHandler();
}
protected function _registerErrorHandler()
{
echo 'error handler set<br>';
set_error_handler('dfErrorHandler::handle');
}
public static function handle($errorNo, $errorStr, $errorFile, $errorLine, $errorContext)
{
echo 'im an error<br>';
}
}
PHP-Code:
dfErrorHandler::create();
Code:
Singleton __construct
Code:
error handler construct error handler set
Ich hoffe ich konnte mein Problem verständlich rüber bringen und irgend jemand kennt auch noch die Lösung dafür

Gruß
mero
Kommentar