From:
Operating system: Linux
PHP version: 5.3SVN-2011-07-12 (SVN)
Package: Scripting Engine problem
Bug Type: Bug
Bug description:BC break in behavior of is_a()
Description:
------------
I notice a different bahavior between PHP5.3.6 and a daily build supplied
by the openSUSE build service, designated php5-5.3.6.201107111820-83.1 with
php - output is "PHP 5.3.7RC3-dev (cli)"
In short, is_a('', '') emits a warning with php/5.3.7rc3 which did not
happen with 5.3.6 and AFAIK earlier versions.
I know that is_a('', '') doesn't make much sense, but it's a BC break. To
be more precise, I stumbled across this when upgrading a PEAR repo and to
my surprise got a bunch of warnings (Warning: Unknown class passed as
parameter in /usr/share/php5/PEAR/PEAR.php on line 252) and tracked it down
to the is_a() call.
I'm not really sure if this was planned and/or is a documentation issue,
but just to be sure it is an intentional change I put this here to be
discussed.
AFAIK from reading the php.internals mailing list, such a change in
behavior in a minor update is most likely not intentional ;)
Test script:
---------------
In a shell type the following:
php -r 'printf("%d\n", is_a("", ""));'
(Note: in case of Windows OS the ' and " have to be replaced with each
other)
Expected result:
----------------
0
Actual result:
--------------
Warning: Unknown class passed as parameter in Command line code on line 1
0
--
Edit bug report at https://bugs.php.net/bug.php?id=55189&edit=1
--
Try a snapshot (PHP 5.2):
https://bugs.php.net/fix.php?id=55189&r=trysnapshot52
Try a snapshot (PHP 5.3):
https://bugs.php.net/fix.php?id=55189&r=trysnapshot53
Try a snapshot (trunk):
https://bugs.php.net/fix.php?id=55189&r=trysnapshottrunk
Fixed in SVN:
https://bugs.php.net/fix.php?id=55189&r=fixed
Fixed in SVN and need be documented:
https://bugs.php.net/fix.php?id=55189&r=needdocs
Fixed in release:
https://bugs.php.net/fix.php?id=55189&r=alreadyfixed
Need backtrace:
https://bugs.php.net/fix.php?id=55189&r=needtrace
Need Reproduce Script:
https://bugs.php.net/fix.php?id=55189&r=needscript
Try newer version:
https://bugs.php.net/fix.php?id=55189&r=oldversion
Not developer issue:
https://bugs.php.net/fix.php?id=55189&r=support
Expected behavior:
https://bugs.php.net/fix.php?id=55189&r=notwrong
Not enough info:
https://bugs.php.net/fix.php?id=55189&r=notenoughinfo
Submitted twice:
https://bugs.php.net/fix.php?id=55189&r=submittedtwice
register_globals:
https://bugs.php.net/fix.php?id=55189&r=globals
PHP 4 support discontinued:
https://bugs.php.net/fix.php?id=55189&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=55189&r=dst
IIS Stability:
https://bugs.php.net/fix.php?id=55189&r=isapi
Install GNU Sed:
https://bugs.php.net/fix.php?id=55189&r=gnused
Floating point limitations:
https://bugs.php.net/fix.php?id=55189&r=float
No Zend Extensions:
https://bugs.php.net/fix.php?id=55189&r=nozend
MySQL Configuration Error:
https://bugs.php.net/fix.php?id=55189&r=mysqlcfg
Try a snapshot (PHP 5.4):
https://bugs.php.net/fix.php?id=55189&r=trysnapshot54