On 2011-09-20, Alan Knowles <a...@akbkhome.com> wrote: > Let's try and close this one. > > https://bugs.php.net/bug.php?id=55475 > > I've just added a patch that adds is_class_of(), which is identical to > is_subclass_of, and has the new feature of supporting strings and using > the autoloader.
is_class_of() has a very different semantic meaning (in natural language) than is_subclass_of() -- I know I wouldn't expect the behavior it exhibits by looking at the name. > It then reverts is_a() back to the previous behavior, and clarifies the > documentation. Reverting at this point adds a BC break on top of a BC break. Yes, the original perhaps should not have happened (and likely wouldn't have, if people had actually been testing the RCs...), but I'll argue again: the new behavior is more correct. Reverting at this point is simply going to cause more headaches: "package X works for PHP versions X.Y - 5.3.6, and from 5.3.9 to 5.3.last" -- what a nightmare! > This solves the BC issues, and also solves potential security issues > with existing code accidentally passing $url's to the autoloader, and > gives anyone who needs this new behavior a solution. I'd argue that this fix also highlights the need for autoloaders to test their arguments to see if they are getting something that looks like a class name. > Let's at least try and respect the new release RFC, and our users who > appreciate PHP's efforts over the years to try and maintain BC. (it's > one of it's few advantages these days...) To respect the release RFC, we shouldn't introduce a new BC break (breaking behavior with something already released). -- Matthew Weier O'Phinney Project Lead | matt...@zend.com Zend Framework | http://framework.zend.com/ PGP key: http://framework.zend.com/zf-matthew-pgp-key.asc -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php