Tôi đang xem xét việc tạo một đối tượng được gọi để chuyển dữ liệu đến kho dữ liệu. Việc triển khai của tôi sử dụng MySQLi, nhưng tôi muốn cho phép các nhà phát triển khác sử dụng bất kỳ cửa hàng dữ liệu nào họ muốn. Tôi đã nghĩ rằng một phương pháp tĩnh có thể là câu trả lời hay nhất, nhưng không có bất kỳ sự quen thuộc nào với chúng, tôi không chắc liệu tôi có thực sự tạo ra nhiều kết nối hay tái sử dụng cùng một kết nối hay không.Nếu tôi sử dụng một phương pháp tĩnh trong PHP để tạo kết nối tới cơ sở dữ liệu, tôi sẽ kết thúc bằng một hoặc nhiều kết nối?
<?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
}
Tôi có ý tưởng đúng về phương pháp tĩnh và tôi sẽ sử dụng lại cùng một kết nối hoặc tạo kết nối mới?
Hãy nghĩ về singleton. – jsxqf
Chỉ muốn chỉ ra rằng trong trường hợp này, "$ conn = NULL; nếu ($ conn == NULL) {" luôn được đánh giá là đúng :) – Michael
Bạn đang cố triển khai Singleton? (Google nó) –