ZF-6118: Zend_Tool_Framework_Provider_Repository tries to access wrong provider name when following coding convention.


The Problem:

{{Zend_Tool_Framework_Client_Abstract->getProviderSignature($name)}} seeks for "" where the array {{Zend_Tool_Framework_Client_Abstract->_providerSignatures}} has only the key "provider".

Testet Zend_Tool CLI from SVN incubator with PHP 5.3.

basically following the tutorial and coding convention:

class Cli_HelpProvider extends Zend_Tool_Framework_Provider_Abstract
    public function show() { echo 'Hello world!'; }

And called it with

{{./zf show help}}

Causing a:

{{Fatal error: Call to a member function getProvider() on a non-object in /incubator/library/Zend/Tool/Framework/Client/Abstract.php on line 186}}

However renaming the class to 'Cli_Help' did solve the problem and returned normally whereas renaming the class to Help.php does hide it as Provider.


This bug was added with Revision 14460 on March 24th.

In revision 14391 from March 19th it is possible the following two combinations are valid:

class HelpProvider extends Zend_Tool_Framework_Provider_Abstract


class Help extends Zend_Tool_Framework_Provider_Abstract

Which must have caused the sudden bug with my application.

Please check against the latest version in trunk. I believe this is fixed.

Also note, ZF is not PHP 5.3 ready.

Also, for development purposes: use this:


it will show you whats available in the manifest (As well as zf --help)