从PHP中的父类调用方法?

时间:2013-03-02 19:59:56

标签: php class-visibility

我似乎无法找到一种方法来调用名为insertValue();

的方法

我的引导程序将网址分成几部分,以便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();,但这没效果。

P.S。我注意到,当我调用此函数时,它下面的代码不会被调用,但是没有给出错误消息。

1 个答案:

答案 0 :(得分:0)

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