Re: Re: svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/tests/bug53727.phpt branches/PHP_5_3/Zend/tests/is_a.phpt
branches/PHP_5_3/Zend/zend_builtin_functions.c branches/PHP_5_3/ext/standard/tests/class_object/is_a_
| From: | Ralph Schindler | Date: | Fri, 08 Jul 2011 14:55:03 +0000 |
| Subject: | Re: Re: svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/tests/bug53727.phpt branches/PHP_5_3/Zend/tests/is_a.phpt branches/PHP_5_3/Zend/zend_builtin_functions.c branches/PHP_5_3/ext/standard/tests/class_object/is_a_ |
||
| References: | 1 2 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-53785@lists.php.net to get a copy of this message | ||
Oh by all means, kill the warning. The behavior is sound though (the fix
for the issue reported in #53727 where a missing parent *ce would affect
the is_a_impl()'s ability to correctly determine it's subtype.
The question is, should we keep the warning in 5.4? I'd say no, I think
false should suffice b/c it answers the question correctly: "Is
NonExistentClass a subclass of SomeOtherClass": no. In that case,
there's no real need for a warning.
Patch for 5.3 attached, and should probably be applied to trunk and 5.4
as well if you think that is the right idea.
-ralph
On 7/7/11 4:08 PM, Johannes Schlüter wrote:
> On Thu, 2011-07-07 at 20:27 +0200, Pierre Joye wrote:
>> what kind of troubles do they see?
>
> https://pear.php.net/bugs/bug.php?id=18656
>
> Even if the Warning is good it's questionable for 5.3, especially during
> RC.
> (note that warnings not only cause the error being reported, which can
> be switched off and fill logfiles but also triggers error handlers which
> won't expect this ...)
>
> johannes
>
>> 2011/7/7 Johannes Schlüter<johannes@schlueters.de>:
>>> Hi,
>>>
>>> I was told (didn't verify) that this causes lots of trouble with PEAR
>>> and other applications. We're in final RC phase of 5.3.7. I don't think
>>> it is critical for 5.3.7 and I wonder whether we need it for 5.3 at all.
>>>
>>> johannes
>>>
>>> On Mon, 2011-07-04 at 14:55 +0000, Dmitry Stogov wrote:
>>>> dmitry Mon, 04 Jul 2011 14:55:39 +0000
>>>>
>>>> Revision:
>>>> http://svn.php.net/viewvc?view=revision&revision=312904
>>>>
>>>> Log:
>>>> Fixed bug #53727 (Inconsistent behavior of is_subclass_of with interfaces)
>>>>
>>>> Bug: https://bugs.php.net/53727 (Assigned)
>>>> Inconsistent behavior of is_subclass_of with interfaces
>>>>
>>>> Changed paths:
>>>> U php/php-src/branches/PHP_5_3/NEWS
>>>> A php/php-src/branches/PHP_5_3/Zend/tests/bug53727.phpt
>>>> U php/php-src/branches/PHP_5_3/Zend/tests/is_a.phpt
>>>> U php/php-src/branches/PHP_5_3/Zend/zend_builtin_functions.c
>>>> U
>>>> php/php-src/branches/PHP_5_3/ext/standard/tests/class_object/is_a_variation_001.phpt
>>>> A php/php-src/branches/PHP_5_4/Zend/tests/bug53727.phpt
>>>> U php/php-src/branches/PHP_5_4/Zend/tests/is_a.phpt
>>>> U php/php-src/branches/PHP_5_4/Zend/zend_builtin_functions.c
>>>> U
>>>> php/php-src/branches/PHP_5_4/ext/standard/tests/class_object/is_a_variation_001.phpt
>>>> A php/php-src/trunk/Zend/tests/bug53727.phpt
>>>> U php/php-src/trunk/Zend/tests/is_a.phpt
>>>> U php/php-src/trunk/Zend/zend_builtin_functions.c
>>>> U php/php-src/trunk/ext/standard/tests/class_object/is_a_variation_001.phpt
>>>>
>>>> --
>>>> PHP CVS Mailing List (http://www.php.net/)
>>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>>
>>> --
>>> PHP Internals - PHP Runtime Development Mailing List
>>> To unsubscribe, visit: http://www.php.net/unsub.php
>>>
>>>
>>
>>
>>
>
>
>
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index d027609..60256b3 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -825,7 +825,6 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass) if (Z_TYPE_P(obj) == IS_STRING) { zend_class_entry **the_ce; if (zend_lookup_class(Z_STRVAL_P(obj), Z_STRLEN_P(obj), &the_ce TSRMLS_CC) == FAILURE) { - zend_error(E_WARNING, "Unknown class passed as parameter"); RETURN_FALSE; } instance_ce = *the_ce;
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c index d027609..60256b3 100644 --- a/Zend/zend_builtin_functions.c +++ b/Zend/zend_builtin_functions.c @@ -825,7 +825,6 @@ static void is_a_impl(INTERNAL_FUNCTION_PARAMETERS, zend_bool only_subclass) if (Z_TYPE_P(obj) == IS_STRING) { zend_class_entry **the_ce; if (zend_lookup_class(Z_STRVAL_P(obj), Z_STRLEN_P(obj), &the_ce TSRMLS_CC) == FAILURE) { - zend_error(E_WARNING, "Unknown class passed as parameter"); RETURN_FALSE; } instance_ce = *the_ce;