ZF-3151: The ZF is not able to use user-defined autoloaders for user-defined classes


Some ZF classes load user-defined classes (such as Zend_Db_Table_Abstract::fetchRow()) with Zend_Locale::loadClass(). However, the loadClass() method will not work if the user-defined class is not in the PHP's include_path and/or has an application-specific prefix. User-defined autoloaders would work, but Zend_Locale::loadClass() doesn't use them, even if it couldn't load the requested class.

Zend_Locale::loadClass() should use a third optional parameter, $tryUserAutoloaders = false, for this method to try loading the requested class with user-defined autoloaders if it itself couldn't load the requested class.

I'm going to fix this because I need it for my code to work.


The path to fix the bug.

The previous patch was incomplete. This also takes into account other instances where the third optional parameter of loadClass() should be used.

Hopefully, this is the final edition of the patch (I've found more code to fix).

I found some more code I had to fix, hence the fourth version of my patch.

Postponed until 2.0.

This should now be resolved in trunk and the 1.8 release branch.