在PHP中使用扩展类

时间:2012-03-24 23:46:11

标签: php class methods parameters extend

我有两个类看起来像这样:

class db {

    protected $db;

    function __construct() {
        $this->connect();
    }

    protected function connect() {
        $this->db = new MySQLi(db_host, db_user, db_pass, db_name) or die($this->db->error);
        $this->db->set_charset('utf8');
    }

}

class sample extends db {

    protected $js_base_dir;

    public function __construct($js_base_dir = js_dir) {
        $this->js_base_dir = $js_base_dir . "/";
    }
 ....

我想在第二个类中使用$ this-> db,但__construct类中的sample会覆盖第一个类构造函数。如何获得$ this-> db在二等内?我错了什么?如果是的话是什么方法?

2 个答案:

答案 0 :(得分:3)

您可以使用parrent::methodName()调用父类方法。同样,您可以使用它来调用父的构造函数方法以及

parent::__construct();

用法:

public function __construct($js_base_dir = js_dir) {
    parent::_construct();
    $this->js_base_dir = $js_base_dir . "/";
}

manual阅读this文章以进行扩展说明外。

答案 1 :(得分:0)

试试这个:

public function __construct($js_base_dir = js_dir) {

    parent::__construct();

    $this->js_base_dir = $js_base_dir . "/";        
}