我想通过分离不同类别的动作来制作模块化控制器 问题是某些操作正在调用控制器的私有函数。
控制器:
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".
这可能是我想做的吗? 我在这里错过了什么吗?
答案 0 :(得分:1)
我看起来你试图从类的范围中访问私有方法。甚至不继承的类都可以访问私有方法。
试试public function _sendResponse()