Php Codeigniter调用模型内的父控制器函数
我知道这是MVC结构不兼容的,但我需要使用这种技术: 我有一个控制器和一个模型 我正在从控制器调用模型中的函数 被称为函数的模型调用另一个函数。(这就是产生错误的原因) 示例如下: 控制器:Php Codeigniter调用模型内的父控制器函数,php,codeigniter,inheritance,Php,Codeigniter,Inheritance,我知道这是MVC结构不兼容的,但我需要使用这种技术: 我有一个控制器和一个模型 我正在从控制器调用模型中的函数 被称为函数的模型调用另一个函数。(这就是产生错误的原因) 示例如下: 控制器: public function B($ret=false) { if(!$ret)$this->Model_model->M($ret); else echo 'ok'; } public function B($ret=false) { $this->M
public function B($ret=false) {
if(!$ret)$this->Model_model->M($ret);
else echo 'ok';
}
public function B($ret=false) {
$this->Model_model->B($ret);
}
型号:
public function M($ret=false) {
$this->N($ret);
}
private function N($ret=false) {
$this->Controller->B(!$ret); //i can't find how can i call this
}
public function B($ret){
if(!$ret)$this->M($ret);
else echo 'ok';
}
private function M($ret=false) {
$this->N($ret);
}
private function N($ret=false) {
$this-B(!$ret);
}
我的第一个触发功能是:
$this->Controller->B(false);
$this->B(false);
我已经将控制器函数B中的代码完全移动到模型中,现在所有的东西都在模型中运行。B函数调用模型中的另一个B函数,最后一步模型不需要调用控制器;它正在调用模型中的B函数: 控制器:
public function B($ret=false) {
if(!$ret)$this->Model_model->M($ret);
else echo 'ok';
}
public function B($ret=false) {
$this->Model_model->B($ret);
}
型号:
public function M($ret=false) {
$this->N($ret);
}
private function N($ret=false) {
$this->Controller->B(!$ret); //i can't find how can i call this
}
public function B($ret){
if(!$ret)$this->M($ret);
else echo 'ok';
}
private function M($ret=false) {
$this->N($ret);
}
private function N($ret=false) {
$this-B(!$ret);
}
我的第一个触发功能是:
$this->Controller->B(false);
$this->B(false);
我的控制器仍然是短代码。我简化了实际功能。它们非常长,我不想在控制器中保留长函数,而是想在模型中保留它们。如果找不到解决方案,我知道我需要在控制器中移动B函数。你最好使控制器函数比使用坏的实践长一点。我知道这个@YellowBird。我几乎改变了我的结构;您可以看到上面的代码。有什么解决方法吗?在模型中从ctrl调用函数是错误的!如果您需要为所有模型创建“抽象”类,并且有一个包含每个模型都可以访问的函数的文件(如果您愿意)。