不能在Yii中重新声明类错误

时间:2015-12-04 05:39:35

标签: php yii

我编写了一个单独的动作类,它从这样的控制器调用:

1)protected / controllers / SoccerController.php

class SoccerController extends Controller
{
    public function actions() {
        return array (
            'index' => 'application\actions\soccer\IndexAction',
            'teamlist' => 'application\actions\soccer\TeamListAction'
        );
    }
}

2)protected / actions / soccer / IndexAction.php

class IndexAction extends CAction
{
    public $viewFile = 'teamoverview';

    /**
     * executes the action.
     */
    public function run()
    {
        $team = new SoccerTeam();
    $this->controller->render($this->viewFile, array('team'=>$team));
    }

}

当我调用url http://localhost/test/soccer/index时出现致命错误无法在第25行的C:\ wamp \ www \ test \ protected \ actions \ soccer \ IndexAction.php中重新声明类IndexAction

任何人都能帮我解决这个错误的原因吗?

1 个答案:

答案 0 :(得分:0)

来自Yii docs

  

要定义新的操作类,请执行以下操作:

rand()
     

为了让控制器知道这个动作,我们覆盖   我们的控制器类的class UpdateAction extends CAction { public function run() { // place the action logic here } } 方法:

actions()
     

在上面,我们使用路径别名   class PostController extends CController { public function actions() { return array( 'edit'=>'application.controllers.post.UpdateAction', ); } } 指定该操作   类文件是application.controllers.post.UpdateAction

所以,protected/controllers/post/UpdateAction.php这是导致错误的原因,请尝试将其更改为: 'index' => 'application\actions\soccer\IndexAction',或您的路径。