[Php-it] Errore, bug o che? > Class entry requested for an objectwithout

Cristiano Verondini cverondini at deis.unibo.it
Wed Apr 4 12:39:57 CEST 2007


> Questo mi fa venire un dubbio. In teoria non dovrebbe nemmeno esserci
> il bisogno di avere la definizione della classe Optgroup, in quanto
> si deve verificare se l'oggetto passato è di classe Optgroup. Deve
> essere quindi solo un confronto tra il nome della classe dell'oggetto in 
> questione
> (con la definizione di classe già inclusa) ed il parametro (nome della
> classe) passato ad "is_a()".

    Se quando deserializzi la classe di definizione non esiste, il tipo 
dell'oggetto viene messo a StrClass.

> Per quanto riguarda la definizione della classe a cui appartengono i
> metodi che fanno queste operazioni, è sicuramente inclusa (tramite
> __autoload() ), altrimenti php darebbe errore ben prima, e comunque
> sarebbe un altro tipo di errore, se non sbaglio un qualcosa del tipo
> che avvisa che si sta utilizzando un oggetto deserializzato in modo
> non corretto, in quanto non trova la definizione della classe, o che si
> tenta di utilizzare un metodo non definito per la classe generica che
> php utilizza quando non trova la giusta definizione della classe.

    Certo. Questo errore però non viene dato all'atto della 
deserializzazione, ma solo quando ne invochi un metodo.


> A dire il vero se non passi un oggetto di classe Optgroup (come da
> hint), il motore d'esecuzione da errore e si ferma.

    Scusa, non avevo fatto caso che fosse PHP5, in questo caso non so come 
reagisca.

> Sono perfettamente d'accordo. Purtroppo il tempo a disposizione non è
> sempre sufficiente per andare a fondo (non sempre nell'immediato
> almeno) a certi problemi.

    Se non li risolvi, si ripresenteranno ... ;)

> Ad un primo sguardo sembrerebbe quindi fosse proprio "is_a()" a fare
> casino in situazioni "particolari" (ancora non so quali), da
> approfondire e verificare ovviamente, magari nel sistema di
> bug-tracking di php.net.

    Se c'è un crash, il problema non dipende dal tuo codice, ma dal motore.

> Non so se sia mai capitato a qualcuno d'incontrare questa situazione.
> Ogni info è sicuramente d'aiuto :-)

    Crash di Apache a dozzine (soprattutto giocando con i riferimenti), ma 
per adesso solo con PHP4! :))

        Cris

-- 
Cristiano Verondini
http://www.verondini.it  ---   [ICQ: 114 190] 



More information about the Php-it mailing list