对象构造函数不起作用


php Object constructor doesn't works

我想将一个对象实例化为其他对象构造函数。

我的问题是,第一个对象MysqlConnector有一个构造函数,但它不工作,当我做实例。

我已经调试了代码,没有办法进入new MysqlConnector();的构造函数

 <?php
class MysqlConnector 
{
    public $connection;
    function __constuct()
    {
        $this->connection = mysql_connect(Config::MYSQL_HOST, Config::MYSQL_DBUSER, Config::MYSQL_DBPASS);
        if(!$this->connection) 
        {
            die("Connection Failed" . mysql_error());
        }
        mysql_select_db(Config::MYSQL_DBNAME);
        mysql_set_charset('utf8');
    }
    public function __destruct() 
    {
        mysql_close($this->connection);
    }
}
?>

这就是我要创建MysqlConnector对象的类:

 <?php
class Config 
{
    const DEBUG_MODE = true;
    const WEB_URL = "http://localhost:8080/";
    const WEB_PATH = "c:/Apache2.2/htdocs/";
    const MYSQL_HOST = "localhost";
    const MYSQL_DBNAME = "xxx";
    const MYSQL_DBUSER = "xxx";
    const MYSQL_DBPASS = "xxx";
    public function __construct() 
    {
        if(self::DEBUG_MODE)
        {
            error_reporting(-1);
        }
        else
        {
            error_reporting(0);
        }
        $this->autoLoad();
        new MysqlConnector();
    }
    private function autoLoad()
    {
        require_once self::WEB_PATH . "db/MysqlConnector.php";
    }
}
?>

正如你现在写的那样,MySqlConnector()的析构函数将在Config的__construct()上运行一次。

你可能想要$this->db = new MySqlConnector()

还有函数名__construct的错别字

你的class MysqlConnector上有一个打字错误

应该是

function __construct()

代替

function __constuct()  //<--- You are missing a `r`