我的许多课程都需要访问数据库才能完成工作。一段时间以来,我一直在做类似以下的事情:
// Create a (one) database object
$mysqli = new mysqli("host", "username", "password", "db");
// Pass database object into each new object that requires database interaction as follows
$car = new Car($data, $mysqli);
$plane = new Plane($data, $mysqli);
// etc
然后每个类都有一个私有的 $mysqli 成员,传入的 mysqli 对象在构造中被分配如下:
class Car {
private $mysqli;
public function __construct($data, $mysqli) {
$this->mysqli = $mysqli;
}
}
然后类方法可以像这样轻松地使用 mysqli 对象:
public function fuelLevel() {
$this->mysqli->query("SELECT fuel_level FROM fuel_tank");
}
我的问题是,如果我要创建几千个这样的对象,我会遇到任何性能问题吗?我认为这样做在我的整个应用程序中在技术上只有一个数据库连接是正确的吗?或者我应该使用下面的引用(指针?)来避免担心的性能开销?
$car = new Car($data, &$mysqli);
$plane = new Plane($data, &$mysqli);