-3

我似乎想不出一种方法来调用一个名为insertValue();的方法。

我的引导程序获取 url 并将其拆分为多个部分,因此 www.URL.com/register/register 变为

url[0]=register;  
url[1] = register;  
$controller = new url[0];  
$controller->loadModel();  
if islet($url[1])  
    $controller->{url[1]};  

class Controller { 
    public $model; 
    function __construct() { 
        $this->view = new View(); //(irrelevant) 
    } 
    public function loadModel($name) { 
        ... 
        $this->model = new $modelName; 
    }
}

模型类如下

class Model { 
    public $database;
    function__construct() { 
        $this->database = new Database();
    } 
} 

所以数据库类如下

class Database { 
    insertValue(){ 
    ... 
    }
}

现在,我有一个引导程序,它创建一个扩展控制器的寄存器类,如下所示:

class Register extends Controller {
    function__construct(){
        parent::__construct();
    }
    public static function register (){
        HERE IS WHERE I WANT TO CALL THE INSERT VALUE FUNCTION FROM DATABASE CLASS
    }
}

引导程序还通过说它Register->loadModel();看起来像这样来创建我的模型类:

class registerModel extends Model {

    function __construct() {
        parent::__construct();
   }

我根本不知道如何调用 insertValue 函数。我试过$this->model->database->insertValue();了,但没有用。

PS我注意到当我调用这个函数时,它下面的代码没有被调用,但没有给出错误消息。

4

1 回答 1

0

你试过$this->model->database->insertValue()吗?loadModel()在您的控制器构造内部调用之后。

于 2013-03-02T20:01:58.317 回答