Wie entstehen Objekte?

14/08/2013 - 22:02 von Stefan+Usenet | Report spam
Ist jetzt kein wirkliches Problem, gibt mir aber gerade Raetsel auf. Bei
einem var_dump() bin ich ueber ein Objekt gestossen, dessen Existenz ich
nicht erwartet haette. Dadurch neugierig geworden habe ich in der
fraglichen Klasse nun einige Debug-Statements angebracht, und zwar in:

| __construct()
| __clone()
| __wakeup()
| __destroy()

Und tatsaechlich: es gibt ein Objekt, fuer welches nur __destroy()
aufgerufen wird, aber keine der anderen drei Methoden. Wie koennte es
entstanden sein?

Servus,
Stefan

http://kontaktinser.at/ - die kostenlose Kontaktboerse fuer Oesterreich
Offizieller Erstbesucher(TM) von mmeike

Pfiffige Fersen erwartet die Frau: Stefan!
(Sloganizer)
 

Lesen sie die antworten

#1 Thomas Mlynarczyk
15/08/2013 - 12:44 | Warnen spam
Stefan Froehlich schrieb:

| __construct()
| __clone()
| __wakeup()
| __destroy()

Und tatsaechlich: es gibt ein Objekt, fuer welches nur __destroy()
aufgerufen wird, aber keine der anderen drei Methoden. Wie koennte es
entstanden sein?



class Foo
{
public function __construct() { echo '<br>', __METHOD__; }
public function __destruct() { echo '<br>', __METHOD__; }
public function __wakeup() { echo '<br>', __METHOD__; }
public function __clone() { echo '<br>', __METHOD__; }
}

$obj = 'O:3:"Foo":0:{}';
unserialize( $obj );

Das ruft allerdings auch __wakeup() auf.

Gruß,
Thomas

Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!
(Coluche)

Ähnliche fragen