【发布时间】:2015-06-27 15:44:30
【问题描述】:
作为参考,我有3个类+接口:
DBFactoryAbstractDBDBIntrefaceMysqliDatabase
据我所知,问题出在MysqliDatabase
class MysqliDatabase extends AbstractDB {
public function __construct()
{
return new mysqli(
$GLOBALS['host'],
$GLOBALS['user'],
$GLOBALS['pass'],
$GLOBALS['database']
);
}
}
现在,我要做的就是创建一个创建 mysqli 连接的类。如果我将代码复制到我的主脚本并运行它,它就可以工作。但是,在课堂上却没有。
谁能告诉我为什么?
编辑
我也试过这个,还有一些变化:
MysqliDatabase
class MysqliDatabase extends AbstractDB {
public $db;
public function __construct()
{
$db = new mysqli(
$GLOBALS['host'],
$GLOBALS['user'],
$GLOBALS['pass'],
$GLOBALS['database']
);
$this->db = $db;
return $this->db;
}
}
【问题讨论】:
-
在任何人说什么之前,我可能会用常量或其他东西替换
$GLOBALS。 -
你不能从类构造函数返回任何东西。您应该设置一个属性。
-
@jeroen 你的意思是喜欢我的编辑?
-
你仍然不能从类构造函数返回任何东西。您需要删除构造函数的最后一行。