我有2 controllers
,我们称之为c1和c2。现在我想从c1中的函数调用c2中的函数,我们说actionC2
。
我尝试过这样的事情:
$c2_instance = new c2();
$c2_instance->actionC2();
但它不起作用。我收到此错误:Missing argument 1 for CController::__construct()
。
我做错了什么?
编辑:也许重要的是说它落在第一行
答案 0 :(得分:3)
您不应该从另一个控制器调用控制器。您应该使用此
重定向$this->redirect(array('controller/action'));
如果你没有其他方法, 重新考虑你的设计 。 解决 问题,请勿尝试 隐藏 。无论如何它会反击你。
答案 1 :(得分:0)
正如@ user488074所说,你的控制器必须有一个它在创建它的实例时正在寻找的参数。转到该控制器并查看contstruct函数中要查找的内容。如果您不想一直为该控制器传递参数,则将类似的内容添加到构造函数参数
public function foo($argument = NULL){
}
因此,如果您不想传递某些内容,则它具有默认值。