Hey Leute, ich bin ziemlich neu bei PDO, also habe ich im Grunde nur einen einfachen Verbindungskurs zusammengestellt, der Informationen aus dem Einführungsbuch verwendet, das ich gelesen habe, aber ist diese Verbindung effizient? Wenn jemand irgendwelche informativen Vorschläge hat, würde ich es sehr schätzen.Irgendwelche Vorschläge, um meine PDO-Verbindungsklasse zu verbessern?
class PDOConnectionFactory{
public $con = null;
// swich database?
public $dbType = "mysql";
// connection parameters
public $host = "localhost";
public $user = "user";
public $senha = "password";
public $db = "database";
public $persistent = false;
// new PDOConnectionFactory(true) <--- persistent connection
// new PDOConnectionFactory() <--- no persistent connection
public function PDOConnectionFactory($persistent=false){
// it verifies the persistence of the connection
if($persistent != false){ $this->persistent = true; }
}
public function getConnection(){
try{
$this->con = new PDO($this->dbType.":host=".$this->host.";dbname=".$this->db, $this->user, $this->senha,
array(PDO::ATTR_PERSISTENT => $this->persistent));
// carried through successfully, it returns connected
return $this->con;
// in case that an error occurs, it returns the error;
}catch (PDOException $ex){ echo "We are currently experiencing technical difficulties. ".$ex->getMessage(); }
}
// close connection
public function Close(){
if($this->con != null)
$this->con = null;
}
}
ich umbenennen würde 'public $ persistent' auf' public $ isPersistent' (Geschmackssache dort) und stellen auch den Konstruktor 'if' Linie anstatt zu lesen, einfach nur' $ this- > isPersistent = $ persistent; '. Die anderen 'public' Variablen ($ con, $ dbType, $ host, $ user, $ senha, $ db) sollten wahrscheinlich' private' sein. Bei der Implementierung einer "Factory" ist es normalerweise so, dass andere Klassen, Methoden usw., die es verwenden, die Verbindungen, Benutzernamen, Passwörter usw. nicht kennen oder sich darum kümmern müssen. –
schätze es nate. – Scarface
Wissen Sie, ob dieser Prozess effizient ist? Gibt es einen besseren Weg? Ich hatte noch keine Zeit, Codiermuster und OOP genauer zu lernen, also suche ich nur nach einem Ort, an dem ich anfangen kann, damit ich meine Seite aufrechterhalten kann, bis ich sie aktualisiert habe. – Scarface