家长';s类构造函数调用错误


Parent's class constructor call error?

我试图调用父类构造函数,但它抛出了一个错误

Fatal error: Cannot call constructor

同样的代码以前运行得很好,我没有更改任何内容,但突然不知道会发生什么,它抛出了这个错误。

我读过一些关于stackoverflow的答案,但他们说你的父类不包含构造函数,好吧,这不是我的情况,我的父类中有构造函数。这是我的代码:

class DB
{
    var $con;
    public function __construct()
    {
        require_once 'configs/dbconfig.php';
        $this->connect();
    }
    function connect()
    {
        try{
            $this->con = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME,DB_USER,DB_PASS);
            $this->con->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
        }catch(PDOException $ex) {
            echo $ex->getMessage();
        }
    }
}

然后我有一个Posts类,它正在扩展DB并调用DB的构造函数。

class Posts extends DB
{
    var $user_id;
    public function __construct($user_id)
    {
        parent::__construct();
        $this->user_id = $user_id;
    }
    function get_posts($search,$pages,$since_id=0,$max_id=false,$count=20,$status='active')
    {
        $extra = '';
        if($search) $extra .= " AND text LIKE CONCAT('%',:search,'%')";
        if(!empty($pages)) $extra .= " AND page IN('".implode("','", $pages)."')";
        if(!empty($status) && $status != 'all') $extra .= " AND status=:status";
        $max_id = ($max_id) ? $max_id : time();
        $sqlCommand = "SELECT id,pid,text,media,media_url,type,name,u_id,username,user_profile_url,user_photo_url,post_url,date,status,source,page_id FROM ".POSTS." WHERE date>=:since_id AND date<=:max_id".$extra." AND user_id=:user_id ORDER BY date DESC LIMIT $count";
        $params = array(':since_id'=>$since_id,':max_id'=>$max_id,':user_id'=>$this->user_id);
        if($search) $params[':search'] = $search;
        if($status && $status != 'all') $params[':status'] = $status;
        $posts = $this->fetch($sqlCommand,$params);
        return $posts;
    }
}

这是您的php版本,它一定已经更改,请检查php的版本并尝试更新。

我认为这是一个已知的PHP错误(看这里(,尝试在DB中创建一个函数,返回一个新的DB(通过调用构造函数(,并在Posts中调用您创建的这个函数。

也许这是一个基本的愚蠢答案,但你尝试过"require"吗?