我想将一个对象实例化为其他对象构造函数。
我的问题是第一个对象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";
}
}
?>
答案 0 :(得分:1)
正如您现在编写的那样,MySqlConnector()的析构函数将在Config上运行一次__construct()。
您可能需要$this->db = new MySqlConnector()
也是函数名__construct
答案 1 :(得分:0)
您的class MysqlConnector
应该是
function __construct()
而不是
function __constuct() //<--- You are missing a `r`