0

我们已经构建了一个小型 mvc,我们想从不同的控制器访问模型。

IE

class Controller {
    function A() {
    }
}

class Search extends Controller {
    function B() {
        $this->model->doSomething();    
    }
}

class Profile extends Controller {
    function B() {
        ***** HERE ***** ?????????????????????????????????????????????
        Search::doSomething();
    }
}

class Model {

}

class search_model extends Model {     
    public function doSomething() {
        // Do Something
        echo "doing something";
    }
}

class profile_model extends Model { 
    public function getProfile() {
        // Get Profile
        echo "getting profile";
    }
}

我想在配置文件控制器中访问搜索控制器功能 doSomething() 如果你可以看到像这里部分或沿线的东西?

4

2 回答 2

0

只需将模型包含在另一个控制器中即可。从多个控制器访问同一个模型并没有错

于 2012-08-20T11:52:44.450 回答
0

Controller 是 Search 和 Profile 的父类,因此您可以添加一个可以重复使用的函数。

class Controller {

    public $model;

    public function doSomething() {
        if($this->model === null)
        {
            $this->model = new search_model();
        }
        return $this->model->doSomething();
    }
}
于 2012-08-20T11:54:04.820 回答