「2 つのデータベース クラスを並行して実行することは良い習慣ですか?」いいえ、意味がありません...?
別のサイトに簡単に転送できる特定の DB クラスを使用します。これを実現するには、PDO オブジェクトを使用します。ログイン資格情報などが保存されるため、settings.ini は webroot の外部に保存する必要があります。
<?php
class DB_Instance
{
private static $db;
public static function getDBO()
{
global $dbSettings;
global $dsn;
global $user;
global $password;
if (!self::$db)
//Get connection parameters from ini-file
$dbSettings = parse_ini_file('settings.ini', true);
$dsn = 'mysql:dbname=' . $dbSettings['database']['name'] . ';host=' . $dbSettings['database']['host'];
$user = $dbSettings['database']['user'];
$password = $dbSettings['database']['password'];
try {
$dbh = new PDO($dsn, $user, $password, array(PDO::ATTR_PERSISTENT => TRUE));
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->exec("set names utf8");
self::$db = $dbh;
return self::$db;
}
}
?>
次に、次のようなクラスによってアクセスされます。
<?php
class Language {
private $languageId; //Language identifier
private $language; //Which language
private $dbInstance; //DBInstance
public function __construct($languageId = null) {
$this->dbInstance = DB_Instance::getDBO();
....
次に、次のような関数を実行します。
$statement = $dbInstance->{PDO function}
PDO クラスの詳細については、http ://www.php.net/manual/en/class.pdo.php を参照してください。