Edit report at https://bugs.php.net/bug.php?id=55189&edit=1
ID: 55189 User updated by: jo at feuersee dot de Reported by: jo at feuersee dot de -Summary: BC break in behavior of is_a() +Summary: BC break in behavior of is_a() (1st param '' no longer accepted) Status: Open Type: Bug Package: Scripting Engine problem Operating System: Linux PHP Version: 5.3SVN-2011-07-12 (SVN) Block user comment: N Private report: N New Comment: Changed subject to reflect that the 1st param is the important one. Previous Comments: ------------------------------------------------------------------------ [2011-07-12 11:54:20] jo at feuersee dot de 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 this bug report at https://bugs.php.net/bug.php?id=55189&edit=1