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

Issue Type: Bug Created: 2009-03-20T11:02:00.000+0000 Last Updated: 2009-03-20T12:32:59.000+0000 Status: Resolved Fix version(s): Reporter: Maik Kreutzfeldt (grayfellow) Assignee: Matthew Weier O'Phinney (matthew) Tags: - Zend_Application

Related issues: Attachments:



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.


Posted by Matthew Weier O'Phinney (matthew) on 2009-03-20T12:15:06.000+0000

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.

Posted by Maik Kreutzfeldt (grayfellow) on 2009-03-20T12:32:57.000+0000

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

Have you found an issue?

See the Overview section for more details.


© 2006-2018 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.