我正在使用 mysqli 使用 OOP 方法创建与数据库的连接。有没有办法让它表现得像得到 $new_link=false 的 mysql_connect,让它为这个脚本中的每个人返回相同的连接,即使他们创建了一个新实例?
这是我如何连接的示例:
class DB extends mysqli {
public function __construct() {
$server_params = $this->server_params;
if (!$server_params) {
throw Exception('No server params for server: '.$server);
}
@parent::__construct($server_params['host'], $server_params['user'], $server_params['pass'], $server_params['db'], $port, $socket);
if ($this->connect_errno != 0){
throw new Exception($this->connect_error, $this->connect_errno);
}
}
}
制作两个实例只是调用
$db = new DB;
来自同一脚本中不同命名空间的两次。
我知道我可以创建一个 singelton 和/或使用依赖注入,但想知道这是否可以直接在连接请求中完成。