我在ZendStudio 11中使用ZF2开发个人财务应用程序。从 New Zend Item 向导添加新控制器后,我收到以下致命错误。这是screenshot。
错误:
_Fatal error: Cannot redeclare class Application\Controller\OutcomeController in **C:\wamp\www\PersonalFinance\module\Users\src\Users\Controller\OutcomeController.php** on line 33_
OutcomeController
类代码如下:
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
/**
* OutcomeController
*
* @author
*
* @version
*
*/
class OutcomeController extends AbstractActionController
{
/**
* The default action - show the home page
*/
public function indexAction()
{
// TODO Auto-generated OutcomeController::indexAction() default action
return new ViewModel();
}
public function fooAction()
{
// This shows the :controller and :action parameters in default route
// are working when you browse to /income/income/foo
return array();
}
}
我还在autoload_classmap.php
文件中添加了以下行:
'Users\Controller\OutcomeController' => __DIR__ . '/src/Users/Controller/OutcomeController.php',
所以:
module.config.php
autoload_classmap.php
出现错误的原因是什么?
答案 0 :(得分:0)
正如错误消息所示,类Application\Controller\OutcomeController
已在应用程序的其他位置定义。
这与使用ZendStudio向导,正确配置ZF2或自动加载无关。这是一个PHP的东西:你不能在你的应用程序中有两个具有相同名称的类(考虑命名空间)。
要避免此问题,您可以更改类的名称或更改声明它的命名空间。