Codeigniter调用内部模型中的父控制器功能

时间:2014-11-27 13:49:28

标签: php codeigniter inheritance

我知道这是MVC结构不兼容但我需要使用这种技术:

我有一个控制器和一个模型。

我在控制器中调用模型中的函数。

模型调用函数calles控制器的另一个函数。 (这就是产生错误的原因)。

以下示例:

控制器:

public function B($ret=false) {
    if(!$ret)$this->Model_model->M($ret);
    else echo 'ok';
    }

型号:

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
    }

我的第一个触发功能是:

$this->Controller->B(false);

1 个答案:

答案 0 :(得分:0)

我已经将控制器的功能B中的代码完全移动到模型中,现在一切都在模型本身。 B函数在模型中调用另一个B函数,最后一步模型不需要调用控制器;它在模型中调用B函数:

控制器:

public function B($ret=false) {
    $this->Model_model->B($ret);
    }

型号:

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->B(false);

我的控制器仍然有短代码。