我想将一个对象实例化为其他对象构造函数。
我的问题是,第一个对象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`