构造函数在没有类实例化的情况下中断应用程序

时间:2011-10-08 23:13:06

标签: php class constructor

class KnivesModel {

private $db;

public function __construct($dsn, $user, $pass){
    try{
        $this->$db = new PDO($dsn, $user, $pass);
    }catch(PDOException $e){
        var_dump($e);
    };

}; // __construct

}

此代码破坏了我的应用。我甚至没有实例化这门课程。我所做的就是在我的index.php中包含这个类,并且“app”因500错误而爆炸。有什么问题?

2 个答案:

答案 0 :(得分:2)

;try catch功能的末尾应该没有__construct

答案 1 :(得分:0)

删除构造函数声明末尾的;try/catch块:

class KnivesModel {

    private $db;

    public function __construct($dsn, $user, $pass){
        try{
            $this->$db = new PDO($dsn, $user, $pass);
        }catch(PDOException $e){
            var_dump($e);
        } // <<< Right here

    } // <<< Right here

}