Dựa vào thực tế là PHP sẽ sử dụng tài nguyên kết nối được mở cuối cùng nếu bạn không chỉ định, có lẽ không phải là một ý kiến hay.
Điều gì sẽ xảy ra nếu ứng dụng của bạn thay đổi và bạn cần hai kết nối hoặc kết nối không ở đó?
Vì vậy, có vẻ như bạn vẫn cần phải thực hiện một số cấu trúc lại.
Đây là một giải pháp tương tự như Karsten luôn trả về cùng một đối tượng mysqli.
class DB {
private static $mysqli;
private function __construct(){} //no instantiation
static function cxn() {
if( !self::$mysqli ) {
self::$mysqli = new mysqli(...);
}
return self::$mysqli;
}
}
//use
DB::cxn()->prepare(....