Я ищу создание объекта, который призван передать данные в хранилище данных. В моей реализации используется MySQLi, но я хочу разрешить другим разработчикам использовать любое хранилище данных, которое они хотят.
Я думал, что статический метод может быть лучшим ответом, но не знакомы с ними. Я не уверен, что на самом деле я создам много соединений или повторно использую один и тот же.
<?php
class RECORDS {
protected $conn;
public function __construct() {
//contect to DB
$conn = $this::connection();
}
public static function &connection(){
$conn = NULL;
if($conn==NULL){
$conn = new mysqli(_DB_HOST_, _DB_USER_, _DB_PASS_, _DB_HOST_);
if ($mysqli->connect_errno) {
die("Failed to connect to MySQL: (" .
$mysqli->connect_errno . ") " .
$mysqli->connect_error);
}
}
return $conn;
}
// ... methods that do stuff
}
Имею ли я правильную идею о статических методах и буду ли я повторно использовать одно и то же соединение или создавать новые?