Hi! Thanks for providing the timeline.
On 8/24/11 2:15 PM, Ferenc Kovacs wrote:
5, Helgi fixed Pear in the meanwhile http://svn.php.net/viewvc/pear/pear-core/tags/PEAR-1.9.5/PEAR.php?r1=313081&r2=313083&pathrev=313340
This fix doesn't look good - it doesn't do what is was meant to do.
7, Helgi reverts the Pear fix http://svn.php.net/viewvc/pear/pear-core/tags/PEAR-1.9.5/PEAR.php?r1=313340&r2=313339&pathrev=313340
And this should be using instanceof instead.
8, nobody notices the meaning of this change: http://svn.php.net/viewvc/php/php-src/branches/PHP_5_4/Zend/zend_builtin_functions.c?r1=312904&r2=312903&pathrev=312904#l848 which AFAIK means that the zend_lookup_class (and hence autoloading) will always be called if the first argument is a string for is_a. previously it would only happen for is_subclass_of()
Well, it is obvious to me that is_a() and is_subclass_of() should work the same and both autoload the first argument if it's a string. However, the docs have is_subclass_of() documented as accepting string while is_a() is not and it worked as always returning false given non-object. I think we could easily keep this behavior for 5.3 even though I think relying on this is wrong (and you SHOULD fix it anywhere your code relies on it, including PEAR).
-- Stanislav Malyshev, Software Architect SugarCRM: http://www.sugarcrm.com/ (408)454-6900 ext. 227 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php