Sto cercando di creare un oggetto che è chiamato a passare i dati all'archivio dati. La mia implementazione utilizza MySQLi, ma voglio consentire ad altri sviluppatori di utilizzare qualsiasi archivio dati che desiderano.Se utilizzo un metodo statico in PHP per creare una connessione a un database, avrò una o più connessioni?
Stavo pensando che un metodo statico potrebbe essere la risposta migliore, ma non avendo alcuna familiarità con loro non sono sicuro se creerei effettivamente molte connessioni o riutilizzare lo stesso.
<?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
}
Ho avuto la giusta idea sui metodi statici e sto riutilizzando la stessa connessione o ne sto facendo di nuovi?
Pensa a Singleton. – jsxqf
Volevo solo precisare che in questo caso, "$ conn = NULL; if ($ conn == NULL) {" viene sempre valutato true :) – Michael
Stai cercando di implementare un Singleton? (google) –