我编写了一个单独的动作类,它从这样的控制器调用:
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
任何人都能帮我解决这个错误的原因吗?
答案 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',
或您的路径。