Re: is_a() triggers __autoload() in 5.3.7

From: Date: Mon, 22 Aug 2011 08:00:11 +0000
Subject: Re: is_a() triggers __autoload() in 5.3.7
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-54771@lists.php.net to get a copy of this message
On Mon, Aug 22, 2011 at 08:22, Mads Lie Jensen <mads@gartneriet.dk> wrote: > On Mon, 22 Aug 2011 08:10:28 +0200, kalle@php.net (Kalle Sommer Nielsen) > wrote: > >>> After upgrading to php 5.3.7, whenever I use is_a($object, 'ClassName'); >>> the autoloader of classes is now called. >>> >>> This did not happen in earlier versions of php 5.3 that I used before. >>> But I cannot find any  mention of it anywhere, no open bugs for it, and >>> nothing in the changelogs. >>> >>> Is it a bug or is it intentional that it has started behaving this way? >> >>I'm unable to reproduce your case in 5.3.4RC1, 5.3.7 and 5.3-svn: >>http://pastie.org/2410070 > > Ah, I now see that it only happens when trying to check something which > is not actually an object: > > <?php > > function __autoload($class) { >        echo "Would load: " . $class . PHP_EOL; > } > > $var = "test"; > var_dump(is_a($var, 'B')); > > $obj = new Stdclass; > var_dump(is_a($obj, 'C')); > > ?> > > But still, it did not happen in earlier phpversions. I can reproduce that in 5.3-svn and 5.4-svn. Please file a bug report for it, this should probably be fixed in 5.3.8 too.. -Hannes

« previous php.internals (#54771) next »