ZF-6076: Zend_Application_Bootstrap_Base fails to setup pluginPaths && missing get_class_methods workaround



In setOptions() the setting of key "pluginPaths" fails since this key is lower case due to

Zend_Application's setOptions lower casing on line 119.

code lines:

Zend_Application on #119: $options = array_change_key_case($options, CASE_LOWER); Zend_Application_Bootstrap_Base on #107: array_key_exists('pluginPaths', $options)


In Bootstrap_Base getClassResources() there is a workaround that in setOptions() is not.

Might cause confusion on older PHP with protected setters.


I've taken care of (I) in r14385.

As for (II), you're comparing apples to oranges. In setOptions(), we are grabbing the list of class methods in order to determine if a setter exists for a given option key -- in all such cases, the setter will be public, and get_class_methods() will correctly list them (note, too, that protected methods should, according to our CS, be prefixed with '_' -- which would never match the criteria in setOptions() anyways). The get_class_methods() workaround in getClassResources() is due to the fact that we're explicitly looking for protected methods -- which get_class_methods() does not correctly return in some versions of PHP.

Thanks for the quick fix and correction on (II) ;)