[PEAR-BUG] Bug #18749 [Com]: is_a() behavior changed in php 5.3.7
[email protected] ("rjha94")
| Newsgroups | php.pear.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at http://pear.php.net/bugs/bug.php?id=18749&edit=1
ID: 18749
Comment by: rjha94
Reported By: jha dot rajeev at gmail dot com
Summary: is_a() behavior changed in php 5.3.7
Status: Open
Type: Bug
Package: DB_DataObject
Package Version: 1.9.5
PHP Version: 5.3.7
New Comment:
Alan, I see your point and I also believe that they broke it (no matter
what they say) but the concern here is that php folks may not fix it
and I moved to 5.3.7 for a reason (promise of better fpm support)
isn't; changing is_a to instance of a better solution? Maybe I can do
that for HTML_Template_Flexy (because I use it) and send you the
patches??
Previous Comments:
------------------------------------------------------------------------
[2011-08-23 08:42:05] alan_k
Let's follow the bug and see what happens, I think it's a serious BC
break. It's changing the
documented behaviour...
https://bugs.php.net/bug.php?id=55475
------------------------------------------------------------------------
[2011-08-23 07:52:31] madsliejensen
Maybe not, but some people say that is_a() in 5.3.7 is working as it
should, but that changing behavior in a minor release is no good. And
that 5.3.8 might fix this, but that in 5.4 is_a() will be changed to
work as it currently does in 5.3.7
Perhaps, just to be a little ahead of time, it should be fixed anyway?
------------------------------------------------------------------------
[2011-08-23 07:48:14] alan_k
It's a known bug in 5.3.7, 5.3.8 is comming out very soon, so I'm not
sure it's worth fixing.
------------------------------------------------------------------------
[2011-08-23 07:25:34] madsliejensen
Description:
------------
In php 5.3.7 is_a() will now trigger the autoloader if the first
argument is not an object.
DB_DataObject uses a line like:
if (is_a($this->$k,'DB_DataObject_Cast')) {
in several places, but in most cases $this->$k is a string, and it will
then trigger any __autoload() you have in your project.
Which again will result in warnings thrown by php when the file is not
found.
These warnings are annoying, but DB_DataObject is still working as it
should.
------------------------------------------------------------------------
--
Edit this bug report at http://pear.php.net/bugs/bug.php?id=18749&edit=1