我过去几小时试图找到“最佳”的答案,最符合逻辑的答案是,撰写一个网站数据库,同时连接一个信箱和一台我的仪。 此外,我还要采用一种依赖性注射设计,但对整个概念是新的。
到目前为止,我已经来到了......。
class Database {
public function PgSqlConnect() {
/* Connect to database */
$host = localhost ;
$dbname = --- ;
$user = --- ;
$pass = --- ;
$timeout = 5; /* seconds */
try {
$pgsql_dbh = new PDO("pgsql:host=$host; dbname=$dbname", $user, $pass);
$pgsql_dbh->setAttribute( PDO::ATTR_TIMEOUT, $timeout );
$pgsql_dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
return $pgsql_dbh;
} catch( PDOException $e ) {
echo Unable to connect to database: . $e->getMessage();
}
}
public function MySqlConnect() {
/* Connect to database */
$host = localhost ;
$dbname = --- ;
$user = --- ;
$pass = --- ;
$timeout = 5; /* seconds */
try {
$mysql_dbh = new PDO("mysql:host=$host; dbname=$dbname", $user, $pass);
$mysql_dbh->setAttribute( PDO::ATTR_TIMEOUT, $timeout );
$mysql_dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
return $mysql_dbh;
} catch( PDOException $e ) {
echo Unable to connect to database: . $e->getMessage();
}
}
}
显然,重复成文法违反了南盟的做法。 我知道并看到了许多多条干 connection连接的例子,但大多数是同样的驱动力,没有拖网提供发展能力。
我还要补充指出,我已考虑将连接细节列入数据库类别构造中......。
$driver = mysql ;
...
$mysqldb = new Database($driver,$un,$pw,...);
$driver = pgsql ;
...
$pgsqldb = new Database($driver,$un,$pw,...);
但我不知道这是否真的是一个好主意,也不知道它会如何与移民部合作。
感谢!