Yii Framework:从Action类调用Controller函数

时间:2013-10-07 08:45:00

标签: php yii

我想通过分离不同类别的动作来制作模块化控制器 问题是某些操作正在调用控制器的私有函数。

控制器:

class ApiController extends Controller
{
    public function actions()
    {
        return array(
            'index'=>'application.controllers.api.IndexAction',
        );
    }

    ..........

    private function _sendResponse($status = 200, $body = '', $content_type = 'text/html')
    {
        // some code
    }
}  

在IndexAction.php中,我尝试过这样,但不起作用:

class IndexAction extends CAction
{
    public function run()
    {
            $this->getController()->_sendResponse(204); //this error
    }

}

例外是

ApiController and its behaviors do not have a method or closure named "_sendResponse".  

这可能是我想做的吗? 我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我看起来你试图从类的范围中访问私有方法。甚至不继承的类都可以访问私有方法。 试试public function _sendResponse()