Edit report at https://bugs.php.net/bug.php?id=55475&edit=1

 ID:                 55475
 Comment by:         alan at akbkhome dot com
 Reported by:        mads at gartneriet dot dk
 Summary:            is_a() triggers autoloader
 Status:             Assigned
 Type:               Bug
 Package:            Scripting Engine problem
 PHP Version:        5.3.7
 Assigned To:        dmitry
 Block user comment: N
 Private report:     N

 New Comment:

@stas - the point of un-depreciating and working with a string was the second 
argument, not the first one. 

eg.

is_a($something, 'might_be_not_loaded_class') 
rather than
$something instanceof might_be_not_loaded_class


Previous Comments:
------------------------------------------------------------------------
[2011-08-23 06:26:21] alan at akbkhome dot com

>From the manual.

"Returns TRUE if the object is of this class or has this class as one of its 
parents, FALSE otherwise."

note the "FALSE otherwise" ...

Defiantly a bug..

------------------------------------------------------------------------
[2011-08-23 05:17:52] mads at gartneriet dot dk

DB_DataObject uses is_a() to check if a variable is both an object and an 
instance of a particular object.
PEAR::isError() does too.

This just gives warnings in my code, and I could of course easily fix these two 
places in my local pear-code. But then it will bite me the next time I upgrade 
those packages from PEAR.

------------------------------------------------------------------------
[2011-08-22 21:46:19] col...@php.net

What code? Do you have some example?

------------------------------------------------------------------------
[2011-08-22 19:17:28] mads at gartneriet dot dk

Maybe not a bug, but it is behaving different ind 5.3.7 than in the previous 
versions, which makes some of the code from PEAR that i use, give errors.

------------------------------------------------------------------------
[2011-08-22 18:36:59] s...@php.net

This is not a bug. If first argument is a string, it is interpreted as a class 
name and autoloader is called for it. Actually, IIRC, one the reasons why is_a 
was 
un-deprecated is that it can work with strings.

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=55475


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=55475&edit=1

Reply via email to