ZF-6428: Zend_Tool: zf create action and zf create project do not work

Description

Using svn trunk (revision 15159):

$ zf create project zftest
Creating project at /www/tmp/zftest

$ cd zftest/
$ zf create action test

Fatal error: Class 'Zend_Controller_Action' not found in /www/tmp/zftest/application/controllers/IndexController.php on line 3

Call Stack:
   0.0011      75992   1. {main}() /usr/local/ZendFramework/bin/zf.php:0
   0.0087     581304   2. Zend_Tool_Framework_Client_Console::main() /usr/local/ZendFramework/bin/zf.php:77
   0.0087     581384   3. Zend_Tool_Framework_Client_Abstract->dispatch() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Console.php:86
   0.4661    3456136   4. Zend_Tool_Framework_Client_Abstract->_handleDispatch() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:210
   0.4662    3458616   5. call_user_func_array() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:291
   0.4662    3458616   6. Zend_Tool_Project_Provider_Action->create() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:0
   0.4662    3460168   7. Zend_Tool_Project_Provider_Abstract->_loadProfile() /usr/local/ZendFramework/library/Zend/Tool/Project/Provider/Action.php:37
   0.4663    3460440   8. Zend_Tool_Project_Profile->loadFromFile() /usr/local/ZendFramework/library/Zend/Tool/Project/Provider/Abstract.php:116
   0.4665    3463784   9. Zend_Tool_Project_Profile_FileParser_Xml->unserialize() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile.php:179
   0.4715    3504400  10. Zend_Tool_Project_Profile_FileParser_Xml->_lazyLoadContexts() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/FileParser/Xml.php:110
   0.4723    3505104  11. Zend_Tool_Project_Profile_Resource->initializeContext() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/FileParser/Xml.php:217
   0.4723    3505688  12. Zend_Tool_Project_Context_Zf_ActionMethod->init() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/Resource.php:226
   0.4724    3506688  13. Zend_Tool_Project_Context_Zf_ActionMethod::hasActionMethod() /usr/local/ZendFramework/library/Zend/Tool/Project/Context/Zf/ActionMethod.php:87
   0.4724    3506776  14. Zend_CodeGenerator_Php_File::fromReflectedFileName() /usr/local/ZendFramework/library/Zend/Tool/Project/Context/Zf/ActionMethod.php:194
   0.4728    3534856  15. include('/www/tmp/zftest/application/controllers/IndexController.php') /usr/local/ZendFramework/library/Zend/CodeGenerator/Php/File.php:120

and

$ zf create controller news

Fatal error: Class 'Zend_Controller_Action' not found in /www/tmp/zftest/application/controllers/IndexController.php on line 3

Call Stack:
    0.0009      76000   1. {main}() /usr/local/ZendFramework/bin/zf.php:0
    0.0087     581304   2. Zend_Tool_Framework_Client_Console::main() /usr/local/ZendFramework/bin/zf.php:77
    0.0087     581384   3. Zend_Tool_Framework_Client_Abstract->dispatch() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Console.php:86
    0.4586    3455080   4. Zend_Tool_Framework_Client_Abstract->_handleDispatch() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:210
    0.4587    3457560   5. call_user_func_array() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:291
    0.4587    3457560   6. Zend_Tool_Project_Provider_Controller->create() /usr/local/ZendFramework/library/Zend/Tool/Framework/Client/Abstract.php:0
    0.4587    3459872   7. Zend_Tool_Project_Provider_Abstract->_getProfile() /usr/local/ZendFramework/library/Zend/Tool/Project/Provider/Controller.php:62
    0.4587    3459872   8. Zend_Tool_Project_Provider_Abstract->_loadProfile() /usr/local/ZendFramework/library/Zend/Tool/Project/Provider/Abstract.php:147
    0.4588    3460344   9. Zend_Tool_Project_Profile->loadFromFile() /usr/local/ZendFramework/library/Zend/Tool/Project/Provider/Abstract.php:116
    0.4589    3463752  10. Zend_Tool_Project_Profile_FileParser_Xml->unserialize() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile.php:179
    0.4643    3505152  11. Zend_Tool_Project_Profile_FileParser_Xml->_lazyLoadContexts() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/FileParser/Xml.php:110
    0.4651    3505856  12. Zend_Tool_Project_Profile_Resource->initializeContext() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/FileParser/Xml.php:217
    0.4652    3506440  13. Zend_Tool_Project_Context_Zf_ActionMethod->init() /usr/local/ZendFramework/library/Zend/Tool/Project/Profile/Resource.php:226
    0.4652    3507440  14. Zend_Tool_Project_Context_Zf_ActionMethod::hasActionMethod() /usr/local/ZendFramework/library/Zend/Tool/Project/Context/Zf/ActionMethod.php:87
    0.4652    3507528  15. Zend_CodeGenerator_Php_File::fromReflectedFileName() /usr/local/ZendFramework/library/Zend/Tool/Project/Context/Zf/ActionMethod.php:194
    0.4656    3535608  16. include('/www/tmp/zftest/application/controllers/IndexController.php') /usr/local/ZendFramework/library/Zend/CodeGenerator/Php/File.php:120

it's as if an auto-loader is missing.

Comments

Hello,

I've a similar problem in ZF 1.8 if I try to create an action for an unknown controller:

D:\zftooltest>zf create action edit cms1 PHP Fatal error: Call to a member function search() on a non-object in D:\ZendFramework-1.8.0\library\Zend\Tool\Project\Provider\Action.php on line 85

In this example the controller cms1 dont't exsists.

Hi, Robert. ZF-6428 may be similar problem for you more than this issue.

I try to reproduce on 1.8.4 It seems to be already solved .

Results:


$ zf.sh create project /tmp/zftest/0624
$ cd /tmp/zftest/0624
$ zf.sh create action test
Creating an action named test inside controller at /tmp/zftest/0624/application/controllers/IndexController.php
Updating project profile '/tmp/zftest/0624/.zfproject.xml'
Creating a view script for the test action method at /tmp/zftest/0624/application/views/scripts/index/test.phtml
Updating project profile '/tmp/zftest/0624/.zfproject.xml'

$ zf.sh create controller news
Creating a controller at /tmp/zftest/0624/application/controllers/NewsController.php
Creating an index action method in controller news
Creating a view script for the index action method at /tmp/zftest/0624/application/views/scripts/news/index.phtml
Creating a controller test file at /tmp/zftest/0624/tests/application/controllers/NewsControllerTest.php
Updating project profile '/tmp/zftest/0624/.zfproject.xml'